我正在创建一个脚本来自动创建apache虚拟主机.我的部分脚本是这样的:
MYSTRING="<VirtualHost *:80>
ServerName $NEWVHOST
DocumentRoot /var/www/hosts/$NEWVHOST
...
"
echo $MYSTRING
Run Code Online (Sandbox Code Playgroud)
但是,脚本中的换行符将被忽略.如果我回显字符串,就会吐出一行.
如何确保打印换行符?
Mar*_*tin 165
添加引号使其工作:
echo "$MYSTRING"
Run Code Online (Sandbox Code Playgroud)
这样看:
MYSTRING="line-1
line-2
line3"
echo $MYSTRING
Run Code Online (Sandbox Code Playgroud)
这将被执行为:
echo line-1 \
line-2 \
line-3
Run Code Online (Sandbox Code Playgroud)
即,echo使用三个参数,打印每个参数,它们之间有空格.
如果你添加引号$MYSTRING,结果命令将是:
echo "line-1
line-2
line-3"
Run Code Online (Sandbox Code Playgroud)
即echo使用单个字符串参数,其中包含三行文本和两个换行符.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           41061 次  |  
        
|   最近记录:  |