Bash
在 shell 提示符中顯示 GNU 螢幕會話名稱和視窗標題
有沒有辦法在 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$ '