跳转到内容
新建笔记

Shell 引号

在 Bash 脚本中,引号有三种主要用法:单引号(’)、双引号(“)和反引号(`)。以下是它们的主要用法:

  1. 单引号(’):

    • 单引号用于定义原始字符串,其中的内容会被视为文字字符串,不会进行任何变量扩展或命令替换。
    • 例子:
    终端窗口
    my_var="Hello"
    echo 'Single quotes ignore variables: $my_var'
    # 输出结果为:Single quotes ignore variables: $my_var
  2. 双引号(”):

    • 双引号用于定义字符串,其中的内容会进行变量扩展和命令替换。变量会被替换为其值,而命令替换会执行命令并将其结果插入字符串中。
    • 例子:
    终端窗口
    my_var="Hello"
    echo "Double quotes allow variable expansion: $my_var"
    # 输出结果为:Double quotes allow variable expansion: Hell
    • 数组元素引用: 在数组中,使用双引号可以确保整个数组元素被视为一个单独的项。在上面的修正脚本中,使用 "${folders[@]}" 以确保循环正确地迭代数组中的每个元素。
    终端窗口
    folders=("x1" "x2" "x3")
    for item in "${folders[@]}"; do
    # some code here
    done
    • 变量引用的安全性: 当引用变量时,尤其是包含空格或其他特殊字符的变量时,双引号可以确保变量的值被正确地传递而不会导致意外的行为。
  3. 反引号(`):

    • 在较新版本的 Bash 中,反引号已经被推荐使用 $() 来替代。反引号用于执行命令替换,即将反引号内的命令执行,并将其输出插入到当前位置。
    • 例子:
    终端窗口
    current_date=`date`
    echo "Current date: $current_date"
    # 输出结果为:Current date: <当前日期和时间>