Bash
對於我連接到的任何主機,是否可以將 Gnome 終端的標題設置為“user@host”?
我想將終端標題設置為,
user@host
以便我可以從視窗標題輕鬆判斷我連接到哪台機器。有沒有辦法從 SSH 或 GNOME 終端執行此操作?
是的。這是一個使用 PS1 的 bash 範例,它應該與發行版無關:
具體來說,轉義序列
\[\e]0; __SOME_STUFF_HERE__ \a\]
很有趣。為了更清楚起見,我已將其編輯為單獨的變數。# uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi TITLEBAR='\[\e]0;\u@\h\a\]' # Same thing.. but with octal ASCII escape chars #TITLEBAR='\[\033]2;\u@\h\007\]' if [ "$color_prompt" = yes ]; then PS1="${TITLEBAR}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ " else PS1="${TITLEBAR}\u@\h:\W\$ " fi unset color_prompt force_color_prompt
另請注意,設置 xterm 標題的方法有很多種,具體取決於您使用的終端程序和 shell。例如,如果您使用 KDE 的 Konsole,您可以通過轉到
Settings
->Configure Profiles
->Edit Profile
->Tabs
並設置Tab title format
和設置來覆蓋標題Remote tab title format
設置。此外,您可能需要查看:
- 此“如何更改 xterm 的標題”其他 shell的常見問題解答
- 這個“提示魔術”提示很好地參考了在 bash 中工作的轉義序列。
- 此Bash Prompt HOWTO以獲取有關 ANSI 顏色轉義序列的參考。