尝试修改/etc/bash.bashrc
时出现错误:
$ echo "my edit" >> /etc/bash.bashrc
bash: /etc/bash.bashrc: Permission denied
ls -ll /etc/bash.bashrc
显示:
-rw-r--r-- 1 root root 1975 2011-05-18 19:54 /etc/bash.bashrc
我该如何修改/etc/bash.bashrc
?
答案1
sudo bash -c "echo 'text' >> /etc/bashrc"
不要更改所有者。不要修改它。只需使用 sudo。如果需要执行复杂操作,请使用 sudoedit 打开它。
顺便说一句,您只需编辑 ~/.bashrc 即可为一个用户进行更改,而不需要任何特殊权限。
答案2
您需要超级用户权限才能编辑该文件。
要成为超级用户,请输入sudo -s
并输入您的密码。登录后,尝试您的命令,它将起作用。
答案3
到现在为止,您可能已经发现有很多方法可以做到这一点。但我认为这是最优雅的方法。(当一切都说完了,它通常也需要最少的输入。)
echo "my edit" | sudo tee -a /etc/bash.bashrc
看man tee
如果您对其工作原理的技术细节感兴趣。
一般来说:
要完成as的工作,请运行:
echo some-text > some-file
root
echo some-text | sudo tee some-file
要完成as的工作,请运行:
echo some-text >> some-file
root
echo some-text | sudo tee -a some-file
答案4
sudo echo "my edit" >> /etc/bash.bashrc