2010-07-12 31 views

回答

3

有一些終端程序支持它(xterm有編譯時間選項,正如RWS所提到的那樣),但是大多數終端程序缺乏這種功能,特別是Terminal.app。

+1

對於Terminal.app,AppleScript來救援:'title = \'osascript -e'告訴應用程序「終端」獲取前窗口的名稱\\'',然後'echo $ title'按預期工作。雖然不太需要AppleScript。 – Arjan 2013-06-17 18:33:14

+0

(如果你只有一個終端窗口,或者它確實是最前面的窗口,使用上面的AppleScript只能很好地工作......) – Arjan 2013-06-17 20:49:50

1

是的,這是可能的。請參閱xterm參考手冊(例如this),並漫遊其中。 xterm甚至有一個堆棧爲此,所以你不必手動存儲標題。

0

我的解決方案是在我的腳本中設置窗口標題,然後在完成時取消設置窗口標題。取消設置標題恢復到原始值。具體地說,我做了以下:

# Set the terminal title 
printf "\e]2;%s\a" "running my script" 
# Do whatever processing is required. 
... 

# Restore terminal title 
printf "\e]2;\a" 
4

上的xterm,在terminal control sequences 22和23做工精細,如

#!/bin/sh 
/bin/echo -ne '\033[22;0t' # Save title on stack 
/bin/echo -ne "\033]0;$(date)\007" 
sleep 1 
/bin/echo -ne '\033[23;0t' # Restore title from stack 

看起來這不是在Mac OS X的支持Terminal.App雖然。

+0

這還是很酷的,謝謝。 – taw 2013-11-19 02:04:40

+1

它已經測試了Konsole 1.6.4和Gnome終端2.16.10(都非常非常老,我不得不承認,但很高興知道你是否想要兼容)。結果:它不起作用。 – hagello 2015-02-04 08:33:33

+0

也不適用於roxterm(可能是其他基於VTE的終端?) – ideasman42 2016-09-02 05:01:18

相關問題