尝试通过 SSH 自定义 Ubuntu 18 LTS 服务器上的 shell 提示符。
在服务器上,.profile
源.bashrc
正确,并且.bashrc
已force_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_COMMAND
Drush显然设置了自己的,而不是PS1
。不确定如何PS1
被覆盖,但确实如此。注释掉 Drush 多余的自定义设置可以解决此问题。感谢 @terdon。