shell 中的单引号和双引号

说来惭愧,shell 脚本写了估计有上千行了,关于引号、变量和转义一直没有好好研究过,转一个从 StackOverflow 上看到的表格,解释得相对比较详细全面了。

其实只要记住以下三点基本上就没有大问题了:

  1. 单引号表示字面量
  2. 双引号支持变量和表达式的展开
  3. 引用变量的最好方式是 ${var}

假设有两个变量:

  • a=apple # a simple variable
  • arr=(apple) # an array with a single element

下表中第二列是跟在 echo 后面的表达式,第三列是输出结果:

序号 表达式 运行结果 解释
top Created with Sketch.