创建破折号提示

创建破折号提示

当我登录到具有dash默认 shell 的服务器时,我收到如下提示:

\[\033[1;31m\]\u\[\033[0m\]@:\w #

我该如何配置服务器以使其显示类似的内容?

user@hostname!dash!/path/$

如果我必须把这个放进去.profile,我怎样才能把这个漂亮的外壳保留在其他外壳中,比如bashzsh

(在我的服务器上.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

相关内容