引号

引号的作用是什么呢?

看这样一个例子:

  1. echo hello world!
  2. hello world!
  3. echo "hello world!"
  4. hello world!

看起来没什么区别是吧?

那这样呢?

  1. echo hello ; world!
  2. hello
  3. world!: command not found
  4. echo "hello ; world!"
  5. hello ; world!

中间加了一个特殊字符;就报错了, 但是在添加了引号之后又成功执行了, 为什么?

引号的作用之一是确定参数.

再上面的例子中, 我们用分号隔开了hello world!, 导致echo只知道hello是他的参数, 而不管 world! 了. 但是我们用引号引起来之后就取消了分号的效果. 把 hello ; world! 作为一个整体的参数传递给echo.

单引号和双引号

跟大多数编程语言一样, 单引号里面的变量不予解析扩展, 双引号扩展变量:

  1. i=888
  2. echo $i
  3. 888
  4. echo "$i"
  5. 888
  6. echo '$i'
  7. $i

看出区别了么? 单引号里面是什么, 输出就是什么.而双引号则把变量的值扩展了.

(也许是这些我都知道了, 所以我觉着这里讲的内容都比较肤浅… 各位看官自便~)