NL=$'\n'
CMD=""
CMD="$CMD echo Hello ; $NL"
CMD="$CMD echo World ; $NL"
$CMD
上面的代码给出了以下输出,echo
后面的所有内容。
Hello ; echo World ;
新行字符和分号都不起作用。出了什么问题?
答案 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 ;