我的根用户和管理员用户都有相同的.bashrc
文件。
的提示部分.bashrc
如下:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
但问题是admin用户和root用户的提示不同。
管理员的提示是:
管理员@主机名:~$
root 的提示符是
root@主机名:/home#
因此看起来 root 使用的是“xterm”版本而 admin 没有使用。
为什么.bashrc
文件的提示有这种差异?如何让管理员用户也使用 xterm 版本?
我该如何测试这种情况?
如果我echo $TERM
以管理员用户身份运行,xterm
据我所知,它应该使用管理员用户的 xterm 版本。
答案1
它按预期工作。
$
按照惯例,对于用户,提示符以 结尾,而#
对于 root,则以 结尾。这是\$
中的PS1
。
另一个不同之处是~
vs /home
。这也是正常的。它是\w
提示符的一部分,即当前工作路径。如果它以 的内容开头$HOME
,则将其替换为~
。