shell之单引号&双引号

      接着想到利用shell定义一个函数来实现。不过公司这边催的太急,干脆也不用什么函数和宏了,直接最简单

的shell里的echo吧 !不过在使用echo 时发现变量在单引号里是不传递的,这时想到要用两个单引号才行。

单引号属于强引用,如需实现传参数,需要给参数再加一个单引号

双引号属于弱引用,双引号内的参数仍为参数,但弱存在$字符,则需要转义

具体代码如下:

#!/bin/bash
for ((site=00;site<100;site++))
do
echo '<VirtualHost *:80>'
echo '  ServerAdmin     [email protected] '
echo '  DocumentRoot    "d:/wwwroot/group/www.test'${site}'.com" '
echo '  ServerName      www.test'${site}'.com'
done
shell中单引号、双引号和两个双引号的区别,看下面的例子:
[root@test] a=55
[root@test] echo $a
55
[root@test] echo '$a'
$a
[root@test] echo ''$a''  #注意此处是两个单引不是一个双引
55

       由上面的例子不难看出,双引号是不会屏蔽对变量和某些特殊符号的转义的,而单引号里的所有内容都会原封不对的输出

,而单引号里再用单引号将变量引起来,变量就又可以正常的显示,有点像数学里的负负为正。

猜你喜欢

转载自blog.csdn.net/YeChao3/article/details/82113863