【问题标题】:Why is bash behaving differently when it takes argument in braces? [duplicate]为什么在大括号中使用参数时 bash 的行为会有所不同? [复制]
【发布时间】:2021-08-31 19:55:19
【问题描述】:

输入:range 6

function range {
        echo {0..$1}
        echo {0..6}
        if [[ $1 =~ 6 ]]
        then
          echo "Equal"
        fi
}

输出:

{0..6}

0 1 2 3 4 5 6

为什么输出不同,而$1 和 6 相等?

【问题讨论】:

    标签: bash function dollar-sign braces


    【解决方案1】:

    花括号在 $ 变量展开之前先展开,花括号范围语法除了一对中间带点的数字外,无法识别任何内容。

    【讨论】:

      猜你喜欢
      • 2019-07-13
      • 1970-01-01
      • 2020-07-02
      • 2016-04-21
      • 2013-08-21
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2020-08-03
      相关资源
      最近更新 更多