引用

引用指将字符串用引用符号引起来,以防止特殊字符被Shell脚本重解释为其他意义。
引用是屏蔽特殊字符的特殊意义。

四种引用符号

  • 双引号(“ “):引用除$,`,\之外的所有字符。

  • 单引号(‘ ‘):引用所有字符,不屏蔽单引号本身。

  • 反引号(` `):shell将反引号中的内容解释为系统命令。

  • 反斜线(\):转义符,屏蔽下一个字符的特殊意义。

全引用和部分引用

  • 全引用:单引号引用了所有字符,不再具备引用变量的功能。

  • 部分引用:双引号引用除$,`,\之外的所有字符,即$,`,\被解释为特殊意义。

  • 利用双引号引用变量能够防止字符串分隔,保留变量中的空格。

    1
    2
    3
    variable="a   b   c"
    echo "$variable" # a b c,即没有字符串分隔
    echo $variable # a b c,即字符串分隔

(防止)字符串分隔

有待研究

命令替换

命令替换是指将命令的标准输出作为值赋给某个变量。

  • 使用反引号``进行命令替换

    1
    `Linux 命令`
  • 使用$()进行命令替换,可进行嵌套

    1
    $(Linux 命令)
  • 命令替换可以与其他编程语言的程序结合,如C/C++。将其他程序的输出赋给shell变量。

    1
    2
    test_c=`./simple_c`
    echo $test_c