我正在创建一个脚本来自动创建apache虚拟主机。我的部分脚本是这样的:
MYSTRING="<VirtualHost *:80>
ServerName $NEWVHOST
DocumentRoot /var/www/hosts/$NEWVHOST
...
"
echo $MYSTRING
但是,脚本中的换行符被忽略。如果我回显字符串,就会把一个字符串吐出来。
如何确保打印换行符?
答案 0 :(得分:158)
添加引号以使其有效:
echo "$MYSTRING"
这样看:
MYSTRING="line-1
line-2
line3"
echo $MYSTRING
这将执行:
echo line-1 \
line-2 \
line-3
即。 echo
有三个参数,打印每个参数,并在它们之间留一个空格。
如果在$MYSTRING
附近添加引号,结果命令将为:
echo "line-1
line-2
line-3"
即。 echo
有一个字符串参数,有三行文字和两个换行符。