hello="A B C D"
34 echo $hello # A B C D
35 echo "$hello" # A B C D
36 # 就象你看到的echo $hello 和 echo "$hello" 将给出不同的结果.
37 # ^ ^
38 # Quoting a variable preserves whitespace.
38 # 引用一个变量将保留其中的空白,当然,如果是变量替换就不会保留了.
我不太明白的就是这里面在引用之前还是先已经进行了变量替换啊!怎么结果会不一样呢?
释梵 于 2009-03-01 22:33:43发表:
我的意思是说那个例子中,在引号以内,已经做了变量替换了,既然变量替换不能保留空格,那么在外面加引号也应该于事无补啊!为什么加了引号,空格就留下了呢?
cwqing1973 于 2009-03-01 17:12:07发表:
这跟shell中的引用有关,在shell中,“”这个符号是可以显示其所包括的一切,可以这么讲吧。而至于一些应用你可以在Linux操作系统中作试验与学习。
释梵 于 2009-03-01 17:08:39发表:
对啊,我想问为什么echo "$hello"#会保留多余的空格啊?
wang7131984 于 2009-03-01 16:57:35发表:
第一句里的赋值为什么要引号...自己思考吧
wang7131984 于 2009-03-01 16:56:11发表:
hello = "AspBspCspspD"#hello: AspBspCspspD
echo $hello#不会保留多余空格于是AspBspCspD,这句等价于echo AspBspCspspD
echo "$hello"#会保留多余的空格于是AspBspCspspD,这句等价于echo "AspBspCspspD"