sed命令中使用外部变量

近几天需要编写一个写LaTeX的脚本,用来自动管理LaTeX文件,但是遇到了在sed命令中使用脚本的麻烦,百度之后解决问题,记录于此。

  1. 单引号中使用变量:将变量用'"$var"'表示,即单引号+双引号+变量+双引号+单引号

    1
    echo $(sed -n ''"$var"'p' $WMS_History)

  2. 双引号中使用变量:直接使用双引号"$var"表示,即双引号+变量+双引号

    1
    echo $(sed -n ""$var"p" $WMS_History)

  3. 双引号中使用花括号: 如果变量后面再加一个字母,如果不做区分则容易出错

    1
    echo $(sed -n "${var}p" $WMS_History)

  4. 引用符号、名称及其意义

符号 名称 意义
" " 双引号 引用除美元符号$、反引号`和反斜杠\ 之外的所有字符
' ' 单引号 引用所有的字符
` ` 反引号 Shell将反引号中的内容解释为系统命令
\ 反斜杠 转义符,屏蔽下一个字符的特殊意义