我需要在Ubuntu 14.04上使用bash编辑特权文件 这个简单的命令不起作用:
sudo echo $someText >> $privilegedFile
我收到此错误:
权限被拒绝
我不知道它有什么问题。 感谢。
答案 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。