无法通过 SSH 导出 PS1

无法通过 SSH 导出 PS1

尝试通过 SSH 自定义 Ubuntu 18 LTS 服务器上的 shell 提示符。

在服务器上,.profile.bashrc正确,并且.bashrcforce_color_prompt=yes取消注释。提示没有颜色。

尝试手动设置。它不导出:

user@ubuntu ~ $ export PS1="[ ${debian_chroot:+($debian_chroot)}\u is awesome: \w ]\\$ "
user@ubuntu ~ $ echo $PS1
\u@\h \w \$

但作为 root 它可以正常工作:

user@ubuntu ~ $ sudo su
root@ubuntu:/home/user# export PS1="[ ${debian_chroot:+($debian_chroot)}\u is awesome: \w ]\\$ "
[ root is awesome: /home/user ]#

到底是怎么回事?

答案1

$PROMPT_COMMAND按照@terdon 的建议进行检查:

user@ubuntu ~ $ echo $PROMPT_COMMAND
__git_ps1 "\u@\h \w" "$(__drush_ps1 "[%s]") \\\$ "

然后仔细观察.bashrc后发现:

# Include Drush prompt customizations.
if [ -f "/home/user/.drush/drush.prompt.sh" ] ; then
    source /home/user/.drush/drush.prompt.sh
fi

$PROMPT_COMMANDDrush显然设置了自己的,而不是PS1。不确定如何PS1被覆盖,但确实如此。注释掉 Drush 多余的自定义设置可以解决此问题。感谢 @terdon。

相关内容