Bash 将文本附加到“中”/root/.profile";
我想将一些文本附加到特权文件Bash 将文本附加到“中”/root/.profile";,bash,sudo,Bash,Sudo,我想将一些文本附加到特权文件/root/.profile。我使用了以下脚本来实现这一点 sudo echo“blabla”>>/root/.profile 它仍在抱怨,拒绝许可。这样做的正确方式是什么?我正在使用ubuntu12.04上的bash4甚至在调用sudo之前对流重定向>进行评估。简单的答案是把整个东西放在一个子壳中: sudo sh -c "echo 'blabla' >> /root/.profile" 甚至在调用sudo之前,流重定向>已被赋值。简单的答案是把整个东
/root/.profile
。我使用了以下脚本来实现这一点
sudo echo“blabla”>>/root/.profile
它仍在抱怨,拒绝许可。这样做的正确方式是什么?我正在使用
ubuntu12.04上的bash4
甚至在调用sudo
之前对流重定向>
进行评估。简单的答案是把整个东西放在一个子壳中:
sudo sh -c "echo 'blabla' >> /root/.profile"
甚至在调用sudo
之前,流重定向>
已被赋值。简单的答案是把整个东西放在一个子壳中:
sudo sh -c "echo 'blabla' >> /root/.profile"
是,shell将在运行sudo之前打开/root/.profile。
你需要像这样的东西:
echo 'blabla' | sudo tee -a /root/.profile
是,shell将在运行sudo之前打开/root/.profile。
你需要像这样的东西:
echo 'blabla' | sudo tee -a /root/.profile
我认为pixelbeat的答案比我的好;)我忘了tee
你能详细介绍一下吗,比如为什么tee
是一个更好的解决方案?@Richard首先生成一个新的tee
过程可能比生成一个新的sh
过程便宜,第二,如果在引号内进行变量替换,那么有两个级别的引号可能会让人困惑。如果您在引号内执行任何变量替换,请注意将任意代码作为根漏洞执行!在某些情况下,我的答案可能比pixelbeat更合适,但可能不多。FWIW我认为pixelbeat的答案比我的好;)我忘了tee
你能详细介绍一下吗,比如为什么tee
是一个更好的解决方案?@Richard首先生成一个新的tee
过程可能比生成一个新的sh
过程便宜,第二,如果在引号内进行变量替换,那么有两个级别的引号可能会让人困惑。如果您在引号内执行任何变量替换,请注意将任意代码作为根漏洞执行!在某些情况下,我的答案可能比pixelbeat更合适,但可能不多。