在我们使用的专用服务器上,不同帐户的 shell 设置不同,这非常令人恼火。当我ssh
登录大多数用户时,我得到:
[user@machine some_dir]$
但是,对于某些帐户,我得到:
bash-3.2$
我为各种机器保留了大量的 shell,并且有许多不同的帐户。我有能力让每个人都拥有相同的~/.bashrc
,但我也相信在某个地方有一个全局配置/etc
确保我每次都能获得相同 shell 的最快方法是什么ssh
?
答案1
最好的办法是将这两种方法混合使用。Bash 将始终加载~/.bashrc
。您应该将标准文件放在中/etc/skel/.bashrc
,然后~/.bashrc
该文件又会提供类似 的内容/etc/bash.bashrc
。(中的版本skel
将用于新用户帐户。)将您的默认值放在后一个文件中。
示例用户.bashrc
:
# this line activates the system-wide default settings
. /etc/bash.bashrc
# users can add any custom .bashrc settings here
/etc/bash.bashrc
根据我的提示的示例:
G='\e[1;32m'
R='\e[1;31m'
Y='\e[1;33m'
N='\e[0m'
PS1='\A \['$G'\]\u@\h \['$Y'\]\w\['$N'\] \$ '
通过此设置,您以后可以更改系统范围的提示并添加其他设置,而无需编辑每个人的.bashrc
文件。希望对您有所帮助。
答案2
/etc/profile
是大多数系统上系统范围 bash 配置的标准位置。
来自bash 手册页:
PROMPTING
When executing interactively, bash displays the primary prompt PS1 when
it is ready to read a command, and the secondary prompt PS2 when it
needs more input to complete a command.