2015-07-13 140 views
0

我正在使用centos Linux。我想在名爲'myscript'的腳本文件中打開當前窗口終端中的新選項卡。我使用以下腳本使用shell腳本在當前窗口中打開新選項卡

#!/bin/bash 
WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}') 
xdotool windowfocus $WID # line 5 
xdotool key ctrl+shift+t #line 6 
wmctrl -i -a $WID # line 7 

從此鏈接引用Open a new tab in gnome-terminal using command line。我以這種方式運行腳本source myscript,我收到一個錯誤,說Illegal variable name。如何解決這個問題? 注意!我不想在新窗口中打開新標籤頁。

+0

您正在使用什麼殼呢? 'csh'或'tcsh'? –

+0

@etan我怎麼知道? –

+0

'echo「$ 0」'說什麼? 「聲明-p SHELL」說什麼?我猜測答案是'tcsh'或'csh'和'declare:Command not found.',這表明你正在使用'tcsh' /'csh',並且該腳本用於bash。如果將它作爲'./ script.sh'運行,它應該可以從'tcsh'運行,但是直接運行或採購時不會運行。 –

回答

1

問題是$(命令)語句。 嘗試使用``來代替:

set WID=`xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}'` 
xdotool windowfocus $WID 
xdotool key ctrl+shift+t 
wmctrl -i -a $WID 
+0

我得到了'xdotool:Command not found。 xdotool:找不到命令。 wmctrl:找不到命令.' –

+0

是的,'csh' /'tcsh'支持較舊的反引號命令替換語法,所以這將「修復」該問題。但是,首先使用'tcsh'已經是一個「問題」,因爲正在嘗試爲腳本使用錯誤的shell。 –