【问题标题】:Bash - Get specific argument using number in variableBash - 使用变量中的数字获取特定参数
【发布时间】:2017-01-19 08:26:10
【问题描述】:

我想从脚本运行时访问一个参数,并且我想根据该变量获取特定参数。所以我想得到参数$2,但不是输入两个,而是使用包含数字的变量

类似的东西

FOO=2 echo $FOO

问题是变量和参数都使用$,所以我不知道如何根据变量中的数字调用特定的参数。我知道我的解释很糟糕,如果可以的话,请纠正我。

【问题讨论】:

    标签: bash variables terminal arguments


    【解决方案1】:

    bash 允许使用${!name} 表示法进行间接寻址,其中name 是变量的名称,其值是您要访问的变量的名称。因此,在您的示例中,您可以打印第二个位置参数,例如

    foo=2
    printf '%s\n' "${!foo}"
    

    printf 'The value at %s is %s\n' "$foo" "${!foo}"
    

    会打印出类似的东西

    The value at 2 is secondParameterValue
    

    可以在here找到一些关于间接的好读物

    【讨论】:

    • 完美。谢谢
    猜你喜欢
    • 2021-06-01
    • 2013-07-04
    • 1970-01-01
    • 2013-08-06
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 2014-02-03
    相关资源
    最近更新 更多