2015-12-26 80 views
3

我有這個在/etc/bash.bashrc我的Linux系統上:這PROMPT_COMMAND做什麼?

PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%[email protected]%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'

從人bash的我明白,它設置一個命令被以發放每個提示之前執行的,但我想知道它到底在做什麼。

回答

2

基本上,它使用XTerm轉義序列來更新每個發出的命令後終端的標題,以反映envariables的當前值。

一些通過的XTerm兼容的終端仿真器識別的轉義序列:

ESC]0;stringBEL — Set icon name and window title to string 
ESC]1;stringBEL — Set icon name to string 
ESC]2;stringBEL — Set window title to string 

其中ESC是轉義字符(\033)和BEL是鐘形字符(\007)。

1

將您的提示設置爲除了printf之外現在正在執行的任何操作,它將顯示您的用戶名@您的主機名與當前工作目錄。您必須自己查找\033]0;終端代碼。