我运行一个Ubuntu VM出来的Virtual Box
和Vagrant
:
vagrant@lucid64:~$ uname -a
Linux lucid64 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux
我的$ PS1变量实际上与提示不匹配,并且更加复杂:
vagrant@lucid64:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
我正在寻找有关$ PS1和我的提示之间关系的解释,$USER@$HOST:$PWD\$
如上所示。
例如,在我的常规笔记本电脑上,该笔记本电脑托管着此虚拟机并且是Mac,它很干净而且很简单,如下所示:
~@12:10:20>echo $PS1
\w@\t>
$PS1
Ubuntu中的默认值包括三个部分:
\[\e]0;\u@\h: \w\a\]
这是一个转义序列,它将终端标题文本设置为$USER@$HOST: $PWD
。
\[
并\]
指示一系列非打印字符的开头和结尾。
\e
是ASCII转义字符。
]0;
是在兼容终端中设置终端图标和标题的特定转义序列xterm
\u
扩展为当前用户的用户名。
@
是文字@。
\h
扩展为主机名。
:
是字面上的冒号字符。
\w
扩展到当前工作目录。
\a
是ASCII响铃字符。
${debian_chroot:+($debian_chroot)}
如果您在chroot环境中,则它将扩展为括号中chroot的名称。
${var:+OTHER}
评估$OTHER
是否var
设置了if ,否则为空字符串。$debian_chroot
是初始化/etc/bash.bashrc
文件内容的变量/etc/debian_chroot
。因此,如果您的chroot环境包含此文件,则提示将包括该文件的内容,以指示外壳当前在哪个chroot中运行。
\u@\h:\w\$
这是您通常看到的实际提示。
\u
,@
,\h
,:
,\w
如上所述。
\$
如果有效uid为零(即用户为root),则扩展为数字符号#,否则扩展为美元符号$。
资源
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句