Bash - 使用变量中的数字获取特定参数

时间:2016-09-11 22:18:25

标签: bash variables terminal arguments

我想从脚本运行时访问一个参数,我想根据变量获取特定的参数。所以我想得到参数T Map<T>(IDataReader reader) => ? ,而不是输入两个,我使用包含数字的变量

像这样的东西

$2

问题是变量和参数都使用FOO=2 echo $FOO 所以我不知道如何根据变量中的数字调用特定的参数。我知道我正在解释这个问题,如果可以,请纠正我。

1 个答案:

答案 0 :(得分: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