Использование Heredoc, или "добавление в EOF", не является проблемой.
Все перенаправления (включая >
) применяются перед выполнением фактической команды. Другими словами, ваша оболочка сначала пытается открыть /etc/php5/apache2/php.ini
для записи с использованием вашей учетной записи, а затем запускает совершенно бесполезную sudo cat
.
Один из способов обойти это:
sudo bash -c "cat >> /etc/php5/apache2/php.ini" <<EOF
(Вы можете запустить интерактивную оболочку через sudo -s
или использовать dd
или tee
для записи в файл.)
В связанной заметке использование >
перезапишет старый php.ini. Используйте >>
чтобы добавить.