让所有账户使用同一种 Bash

让所有账户使用同一种 Bash

在我们使用的专用服务器上,不同帐户的 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. 

相关内容