通过bash编辑特权文件

时间:2016-05-29 14:19:07

标签: bash ubuntu

我需要在Ubuntu 14.04上使用bash编辑特权文件 这个简单的命令不起作用:

sudo echo $someText >> $privilegedFile

我收到此错误:

权限被拒绝

我不知道它有什么问题。 感谢。

3 个答案:

答案 0 :(得分:3)

shell运行重定向之前它运行sudo,因此$privilegedFile仍然使用当前用户的权限打开。

一种解决方法是使用sudo运行的程序打开文件,而不是使用重定向。

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

另一个是使用sudo启动一个全新的shell并在该shell中执行完整命令。

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

答案 1 :(得分:0)

你应该试试这个:

sudo sh -c "echo $text >> $file"

答案 2 :(得分:-2)

DO

sudo chmod u+xrw FILE

sudo nano FILE

不要使用echo进行编辑,请尝试nano,gedit或vi。