O uso do Heredoc, ou "acrescentar ao EOF", não é o problema.
Todos os redirecionamentos (incluindo >
) são aplicados antes de executar o comando atual. Em outras palavras, seu shell primeiro tenta abrir /etc/php5/apache2/php.ini
para escrever usando sua conta e executando um sudo cat
completamente inútil.
Uma maneira de contornar isso:
sudo bash -c "cat >> /etc/php5/apache2/php.ini" <<EOF
(Você pode executar um shell interativo via sudo -s
ou usar dd
ou tee
para gravar no arquivo.)
Em uma nota relacionada, usar >
substituirá o arquivo php.ini antigo. Use >>
para acrescentar.