当我登录到具有dash
默认 shell 的服务器时,我收到如下提示:
\[\033[1;31m\]\u\[\033[0m\]@:\w #
我该如何配置服务器以使其显示类似的内容?
user@hostname!dash!/path/$
如果我必须把这个放进去.profile
,我怎样才能把这个漂亮的外壳保留在其他外壳中,比如bash
和zsh
?
(在我的服务器上.profile
有一个符号链接.bashrc
)
答案1
Dash 被设计为一个用于快速执行脚本的最小 shell。舒适的交互使用并不是设计目标。如果您想要一个奇特的提示,请使用专为交互式使用而设计的 shell:zsh、fish,或者至少是 bash。您显示的转义序列适用于 bash。
Dash 确实扩展了提示中的变量,因此您可以在中设置这样的提示(并在、等.profile
中覆盖它)。.bashrc
.zshrc
: "${USER=$(id -un)}" "${HOSTNAME=$(uname -n)}"
if [ $0 = "-sh" ]; then
export PS1='$USER@$HOSTNAME!$0!:$PWD/\$ '
fi