Bash在Ubuntu中默认PS1的主要部分是什么意思?

iBug

这是$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>],或者我会理解的)

斯蒂芬·基特

这是XTerm转义序列,用于设置图标名称和窗口标题。大多数图形终端仿真器(以及某些非图形终端仿真器)也支持它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章