如何修改“/etc/bash.bashrc”?它是只读的吗?

如何修改“/etc/bash.bashrc”?它是只读的吗?

尝试修改/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-fileroot

    echo some-text | sudo tee some-file
  • 要完成as的工作,请运行:echo some-text >> some-fileroot

    echo some-text | sudo tee -a some-file

答案4

sudo echo "my edit" >> /etc/bash.bashrc

相关内容