通常使用者會啟動一個一直在前景執行的工作如 top
, 或
一個編輯器, 一個 email 用戶端, 等等, 並希望這個工作的名稱被顯示在
xterm 的主題上. 這是個很棘手的問題且只能在 zsh
環境下可以輕鬆完成.
zsh
為這種需求提供了一個很理想的內建功能:
preexec() 一個在命令執行前一定會叫用的功能函式名
$*,$1,... 傳送到 preexec() 的參數
因此, 我們可以用下面的方式把工作名稱放到主題上:
case $TERM in
xterm*)
preexec () {
print -Pn "\e]0;$*\a"
}
;;
esac
記住: preexec()
功能函式在 zsh
3.1.2 版出現,
如果你用的版本較舊那就需要更新一下.
對其它缺少 preexec()
函式的命令解譯器, 就不是那麼簡單了.
如果任何人有範例可以完成同樣的工作請把它 email 給作者.