2013-04-07 110 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"