我应该何时使用这两个 .bashrc 文件来设置我的别名、提示等?
答案1
/etc/bash.bashrc
适用于所有用户
~/.bashrc
仅适用于主文件夹所在的用户。
答案2
根据GNU Bash 文档:
当 Bash 作为交互式登录 shell 或使用 --login 选项作为非交互式 shell 调用时,它首先从文件/etc/配置文件,如果该文件存在。读取该文件后,它会查找的〜/ .bash_profile、~/.bash_login 和 ~/.profile,并读取和执行来自第一存在且可读。启动 shell 时可以使用 --noprofile 选项来禁止此行为。
作为交互式非登录 shell 调用当启动非登录 shell 的交互式 shell 时,Bash 将从~/.bashrc,如果该文件存在。可以使用 --norc 选项来禁止此操作。--rcfile 文件选项将强制 Bash 从文件而不是 ~/.bashrc 读取并执行命令。
因此,通常你的 ~/.bash_profile 包含以下行
如果 [ -f ~/.bashrc ]; 则 . ~/.bashrc; fi
在任何特定于登录的初始化之后(或之前)。
答案3
对于您的个人偏好和个人脚本或 bash 函数,您应该使用 .bashrc(别名、向 bash 添加的函数...)
当您想要与所有用户(或大多数用户)共享某些内容或用于一般用途的内容(共享可执行文件的路径、文档的路径......)时,请将其放入 /etc/bash.bashrc 中
我说大多数用户是因为即使你指定了一个"Hello world!"
为所有用户打印的脚本greetings.sh,但用户Pepe想要使用打印的脚本greetings.sh "Hola el mundo!"
。他可以在他的.bashrc中修改他的路径以指向他的脚本而不是你的脚本。换句话说,用户可以随时在.bashrc中自定义他的会话以达到他想要的效果。