2013-04-07 137 views
1

我已經寫在shell腳本兩個語句,並通過命令行參數值如下: -如何檢索shell腳本

str=$'cd /home \n mkdir $1' 
echo "$str" 

,當我執行上面的腳本文件,那麼它顯示下面的輸出: -

[root]# ./ScriptCheck.sh pravin 
cd /home 
mkdir $1 

的將輸出應該是: - >

cd /home 
mkdir pravin 
+0

單引號不提供一個shell變量輸出。爲了得到確切的變量,你可能想把它放在雙引號內。 – 2013-04-08 11:44:13

回答

4

的變量不是實驗值用單引號括起來(')。改用雙引號(")來嘗試。

有關更多詳細信息,請參見http://www.gnu.org/software/bash/manual/bashref.html#Double-Quotes

+0

另請參閱:[Wooledge引用](http://mywiki.wooledge.org/Quotes) – 2013-04-07 19:15:28

+0

請注意,對於雙引號,\ n將被視爲兩個文字字符,而不是新行。不過,將'-e'添加到'echo'的調用將導致'echo'再次將該對解釋爲換行符。 – chepner 2013-04-07 20:33:48

0

嘗試改變:

str=$'cd /home ; mkdir $1' 
echo "$str"