PS1の.bashrcにある\ [\ e] 0;の意味

PS1の.bashrcにある\ [\ e] 0;の意味

存在する.bashrc

case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

理解${debian_chroot:+($debian_chroot)}\u@\h: \wが理解できません\[\e]0;。それは何をしますか?

ベストアンサー1

これはASCII 27(ESC)で置き換えられた\e]0;エスケープシーケンス\eなので、端末はxtermにBEL()で終わるESC ] 0 ;アイコンとタイトルバーを設定するように指示する4文字を受け取ります。\a

したがって、このシーケンスは\e]0;STUFFGOESHERE\a端末のヘッダーをSTUFFGOESHEREに設定します。あなたの例では、ヘッダーをuser / host / pathに設定します。

FWIW、xtermエスケープシーケンスは、次の場所に文書化されています。https://www.x.org/docs/xterm/ctlseqs.pdf

おすすめ記事