【发布时间】:2017-01-19 08:26:10
【问题描述】:
我想从脚本运行时访问一个参数,并且我想根据该变量获取特定参数。所以我想得到参数$2,但不是输入两个,而是使用包含数字的变量
类似的东西
FOO=2
echo $FOO
问题是变量和参数都使用$,所以我不知道如何根据变量中的数字调用特定的参数。我知道我的解释很糟糕,如果可以的话,请纠正我。
【问题讨论】:
标签: bash variables terminal arguments
我想从脚本运行时访问一个参数,并且我想根据该变量获取特定参数。所以我想得到参数$2,但不是输入两个,而是使用包含数字的变量
类似的东西
FOO=2
echo $FOO
问题是变量和参数都使用$,所以我不知道如何根据变量中的数字调用特定的参数。我知道我的解释很糟糕,如果可以的话,请纠正我。
【问题讨论】:
标签: bash variables terminal arguments
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找到一些关于间接的好读物
【讨论】: