Bash «Разрешение отклонено» при попытке добавить в EOF

При попытке нажимать пару строк до конца файла, я получаю проблему с разрешением. Я понимаю, почему я получаю ошибку, но я не могу придумать, как ее решить. Любая помощь будет оценена по достоинству.

sudo cat > /etc/php5/apache2/php.ini << EOF # extensions extension=”memcached.so” extension=”apc.so” EOF 

    Использование 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. Используйте >> для добавления.

    sudo su а затем у вас есть правильная оболочка как root . Выполните команду там, без префикса sudo . Затем exit чтобы вернуться из корневой оболочки.

    Чтобы расширить ответ на @grawity, показывая, как использовать tee:

     sudo tee /etc/php5/apache2/php.ini >/dev/null <<EOF # extensions extension=”memcached.so” extension=”apc.so” EOF 

    Или использовать опцию -a для тройника для добавления вместо перезаписи.

    Interesting Posts

    Как скомпилировать приложение .NET в собственный код?

    Зачем мне нужно настроить диалект SQL источника данных?

    Должен ли я быть обеспокоен, если мой хостинг-провайдер Git хранит пароли в открытом виде?

    Невозможно создать логический диск, все диски являются динамическими

    Возможно ли объединить два интернет-соединения для повышения производительности?

    Скрытые особенности VBA

    Как заблокировать веб-сайты в Windows 8 без дополнительного программного обеспечения?

    Как проверить, пересекает ли сегмент линии прямоугольник?

    Поиск 16-разрядного компилятора x86

    Получить кликнутый элемент и его позицию в RecyclerView

    Как избежать привязки внутри метода рендеринга

    Как найти размер int ?

    Создайте неподписанный файл APK с Android Studio

    Bash: есть ли способ поиска определенной строки в каталоге файлов?

    angular.element vs document.getElementById или селектор jQuery со спин (занятым) управлением

    Давайте будем гением компьютера.