Мой пользователь root и администратор имеют один и тот же файл .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
Но проблема в том, что администратор и пользователь root имеют разные подсказки.
приглашение администратора:
admin @ hostname: ~ $
blockquote>, а приглашение root -
root @ hostname: / home #
blockquote>Таким образом, кажется, что root использует версию "xterm", а admin - нет.
Почему файл
.bashrc
имеет такую разницу в приглашениях? Как мне заставить администратора также использовать версию xterm?Как мне проверить это условие?
Если я запускаю
echo $TERM
во время работы от имени администратора, я получаюxterm
, насколько я могу судить, он должен использовать версию xterm для пользователя с правами администратора.
Это работает как ожидалось.
По соглашению приглашение заканчивается на $
для пользователей и на #
для root. Это \$
в PS1
.
Другим отличием является ~
против /home
. Это тоже нормально. Это \w
часть приглашения, текущий рабочий путь. Если оно начинается с содержания $HOME
, оно заменяется на ~
.