我使用特定用户执行了此操作,但当用户是 root 时我无法执行此操作(我知道不建议使用 root 用户,但在我目前的工作中,某些系统的安全策略为空,我们希望为普通用户提供一种简单的方法来执行程序)当我重新启动tty
或机器时,所有更改都会回滚,我想找到.bash_rc
但root
它不存在。
答案1
有一个系统范围的 bashrc,可以在 中找到/etc
。在系统范围的 bashrc 中进行更改将使它对所有人都可用。它通常位于/etc/bash.bashrc
不要忘记 source 它。
. /etc/bash.bashrc
答案2
当 bash 在类 Debian/Ubuntu 系统上初始化非登录交互式 bash shell 时,shell 首先读取/etc/bash.bashrc
,然后读取~/.bashrc
。
它没有出现在普通 bash 文档中的原因/etc/bash.bashrc
是它是 Debian 添加并被 Ubuntu 采纳的功能。
Debian 版 bash 编译时带有特殊选项 ( -DSYS_BASHRC
),该选项使 bash在交互式非登录 shell/etc/bash.bashrc
之前进行读取。因此,在 Debian 系统上,是,是。~/.bashrc
/etc/bash.bashrc
~/.bashrc
/etc/profile
~/.bash_profile
因此,/etc/bash.bashrc
在 Debian 和 Ubuntu 手册页中有记录,但在其他不支持此功能的发行版的手册页中没有记录。
/etc/bash.bashrc
已经在 Debian 圈子以外的发行版中被采用,例如 Arch Linux、MSYS2 和 Git Bash。
答案3
或者,“跳出框框思考”的解决方案是只查看 /etc/profile.d/* 中定义其他别名的位置,然后简单地将另一个别名添加到文件中。
echo "alias ll='ls -al'" >> /etc/profile.d/dircolors.sh
这应该够了吧!