Bash

在 shell 提示符中顯示 GNU 螢幕會話名稱和視窗標題

  • February 16, 2018

有沒有辦法在 shell 的提示符中顯示 GNU Screen 會話名稱和視窗標題(讓我們說,由 定義的 Bash 提示符PS1)?

Screen 提供了一些環境變數(來自screen(1) 手冊頁):

STY              Alternate socket name.
WINDOW           Window number of a window (at creation time).

“在創建時”意味著如果你重新編號一個視窗(使用 screen 的number命令),shell 將不會被告知更改並且 $WINDOW 仍將與第一個視窗編號相同。

你可以使用類似的東西:

PS1='\u@\h(${STY}:${WINDOW}):\w$ '

我總是使用精確的螢幕會話名稱。然後我可以添加螢幕的 STY env var,去掉數字 id(感謝 dimo414),到 PS1。我不會用花括號或任何東西來裝飾它,因為我並不總是在會議中。簡單的例子:

PS1='\u@\h ${STY#[0-9]*.} \w$ '

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