引号
引号的作用是什么呢?
看这样一个例子:
➤ echo hello world!
hello world!
➤ echo "hello world!"
hello world!
➤
看起来没什么区别是吧?
那这样呢?
➤ echo hello ; world!
hello
world!: command not found
➤ echo "hello ; world!"
hello ; world!
➤
中间加了一个特殊字符;
就报错了, 但是在添加了引号之后又成功执行了, 为什么?
引号的作用之一是确定参数.
再上面的例子中, 我们用分号隔开了hello world!
, 导致echo
只知道hello是他的参数, 而不管 world! 了. 但是我们用引号引起来之后就取消了分号的效果. 把 hello ; world!
作为一个整体的参数传递给echo
.
单引号和双引号
跟大多数编程语言一样, 单引号里面的变量不予解析扩展, 双引号扩展变量:
➤ i=888
➤ echo $i
888
➤ echo "$i"
888
➤ echo '$i'
$i
➤
看出区别了么? 单引号里面是什么, 输出就是什么.而双引号则把变量的值扩展了.
(也许是这些我都知道了, 所以我觉着这里讲的内容都比较肤浅... 各位看官自便~)