pla*_*etp 5 linux bash command-prompt
/etc/bash.bashrc我的 Linux 系统上有这个:
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
从 man bash 我了解到它设置了一个在发出每个提示之前要执行的命令,但我想知道它到底在做什么。
基本上,它会在您发出每个命令后使用 XTerm 转义序列更新终端的标题,以反映 envariables 的当前值。
\n\nXTerm 兼容终端仿真器可识别的一些转义序列:
\n\nESC]0;stringBEL \xe2\x80\x94 Set icon name and window title to string\nESC]1;stringBEL \xe2\x80\x94 Set icon name to string\nESC]2;stringBEL \xe2\x80\x94 Set window title to string\nRun Code Online (Sandbox Code Playgroud)\n\n其中ESC是转义字符 ( \\033),BEL是响铃字符 ( \\007)。