这是$PS1
我在新安装的 Ubuntu 18.04 上的 Bash shell:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \$
我可以很好地理解提示的其他部分:
${debian_chroot:+($debian_chroot)}
:如果已设置,则显示它,但在其周围添加括号;如果未设置,则不显示任何内容\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \$
:user@host:cwd $
使用 CSI 转义序列启用颜色的标准提示
我对第一部分感到困惑:
\[\e]0;\u@\h: \w\a\]
AFAIK,\[
并\]
扩展为\001
并\002
告诉 GNU readline 它们之间的字符不应计入“提示长度”。这个问题可以归结为以下含义:
\e]0;\u@\h: \w\a
它是<ESC>]0;user@host: cwd<ALARM>
。那有什么作用? (注:CSI不是<ESC>[
,<ESC>]
不然我就明白了)
答案1
这是一XTerm 转义序列,它设置图标名称和窗口标题。大多数图形终端模拟器(以及一些非图形终端模拟器)都支持它。