2017-08-28 35 views
0

我想要一個簡單的xterm命令:的Linux擊:用-e打開的xterm時,該varaibles沒有得到確定

xterm -hold -e "hare=0;echo $hare" 

它會打開xterm的空白

我觀察到什麼是可變的野兔在沒有得到-e引號內定義

,其中爲:

hare=0;xterm -hold -e "echo $hare" 

它打開n xterm顯示0

我必須在-e引號中定義變量並執行一些操作。有沒有可能。我希望xterm訪問外部變量以及-e

回答

0

中定義的變量變量在雙引號字符串內展開,因此該變量由原始外殼擴展,而不是由xterm中的外殼擴展。使用單引號。

xterm -hold -e 'hare=0; echo $hare' 

如果分配在原來的殼變量,你需要導出它,所以它會成爲多數民衆贊成由子進程繼承的環境變量:

hare=0 
export hare 
xterm -e 'echo $hare' 
+0

那麼問題是外部變量是不無障礙。現在'hare = 0; xterm -hold -e'echo $ hare''顯示空白。 –

+0

您需要導出變量以使其成爲環境變量。 – Barmar

+0

我將一次運行多個shell腳本。他們不會互相重疊嗎? –