shell 提示符
rivsidn@rivsidn:~$ echo ${PS1} \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
The default $PS1
in Ubuntu consists of three parts:
-
\[\e]0;\u@\h: \w\a\]
This is an escape sequence which will set the terminal title text to
$USER@$HOST: $PWD
.\[
and\]
indicate the beginning and end of a sequence of non-printing characters.\e
is an ASCII escape character.]0;
is the specific escape sequence to set the terminal icon and title inxterm
compatible terminals\u
expands to the username of the current user.@
is a literal @.\h
expands to the hostname.:
is a literal colon character.\w
expands to the current working directory.\a
is an ASCII bell character. -
${debian_chroot:+($debian_chroot)}
If you're in a chroot environment, this will expand to the name of the chroot in parentheses.
${var:+OTHER}
evaluates to$OTHER
ifvar
is set, otherwise as null string.$debian_chroot
is a variable initalized in/etc/bash.bashrc
to the contents of the file/etc/debian_chroot
. Thus if your chroot environment includes this file, the prompt will include the contents of that file as an indication for which chroot the shell currently operates in. -
\u@\h:\w\$
This is the actual prompt you typically see.
\u
,@
,\h
,:
,\w
are as above.\$
expands to a number sign # if the effective uid is zero (i.e. user is root), otherwise it expands to a dollar sign $.
Resources
参考资料: