Bash

Ubuntu 中 Bash 預設 PS1 的前導部分是什麼意思?

  • April 25, 2019

這是$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 轉義序列,它設置圖示名稱和視窗標題。大多數圖形終端仿真器(以及一些非圖形終端仿真器)都支持它。

引用自:https://unix.stackexchange.com/questions/515426