2016-05-29 2 views
0

мне нужно отредактировать привилегированный файл, используя Баш на Ubuntu 14.04 Эта простая команда не работает:Отредактируйте привилегированный файл с помощью Баш

sudo echo $someText >> $privilegedFile 

Я получаю эту ошибку:

Отказано в

Я понятия не имею, что с этим не так. Спасибо.

+0

Какое значение '$ privilegedFile'? – agold

+0

Есть 2 команды 'echo' и' >> ', эскалация привилегий' sudo' применяется только к 'echo'. См. Ответ chepner ниже: –

+0

^^ '>>' не является командой. – anishsane

ответ

-2

сделать

sudo chmod u+xrw FILE 

и

sudo nano FILE 

Не использовать эхо для редактирования, попробуйте нано, Gedit или VI.

+0

Если это не удается, введите sudo -s, введите пароль, а затем попробуйте команды без добавления 'sudo'. – RoccoDev

+2

Редактирование файла путем добавления вывода 'echo' вполне разумно в неинтерактивной оболочке. – chepner

3

Оболочка обрабатывает Перенаправление перед тем он работает sudo, так $privilegedFile все еще открыт с помощью разрешения текущего пользователя.

Обходным путем является открытие файла программой, запущенной sudo, а не с использованием перенаправления.

echo "$someText" | sudo tee -a "$privilegedFile" 

Другой, чтобы начать совершенно новую оболочку с sudo и выполнить полную команду в этой оболочке.

sudo sh -c "echo '$someText' >> '$privilegedFile'" 
0

Вы должны попробовать это:

sudo sh -c "echo $text >> $file" 
Смежные вопросы