2016-05-31 63 views
0

內容我有一個具有以下數據執行的文件(UNIX)

echo Hello "$Name" How are you 

在主人腳本名被分配到一個字符串的文件。我想在執行文件中的內容,以便$名稱可以從主腳本採取如下

Name=TEST 
a=$(cat abc.txt) 
b=`$a` 
echo b | mailx 

,當我試圖做爲$ name的值上面沒有反映。

輸出是在郵件如下

Hello "$Name" How are you 

請幫助我,如果即時通訊做錯了什麼

回答

2

如果你絕對信任,有中沒有的abc.txt惡意命令,這樣做:

Name=TEST 
source abc.txt | mailx 

否則,更安全地替代值位,這樣做:

export Name # and any other variables 
perl -pe 's/\$(\w+)/$ENV{$1}/g' abc.txt | mailx 
相關問題