bash echo - 如何表示命令的结束

时间:2017-08-29 05:59:56

标签: bash parameter-expansion

NL=$'\n'
CMD=""
CMD="$CMD echo Hello ; $NL"
CMD="$CMD echo World ; $NL"
$CMD

上面的代码给出了以下输出,echo后面的所有内容。

Hello ; echo World ;

新行字符和分号都不起作用。出了什么问题?

1 个答案:

答案 0 :(得分:-2)

要启用反斜杠转义的解释,您必须将-e标志添加到echo。

:/$ NL='\n'

将换行符放入NL变量。

:/$ CMD=""

将CMD设置为空字符串。

:/$ CMD="$CMD echo Hello ; $NL"

重置CMD,因为旧的CMD是""然后新的是" echo你好; \ n"

:/$ CMD="$CMD echo World ; $NL"

重置CMD,因为旧的CMD是" echo你好; \ n"然后新的是" echo你好; \ n echo world; \ n"

:/$ echo -e $CMD
echo Hello ; 
 echo World ;