我想从脚本运行时访问一个参数,我想根据变量获取特定的参数。所以我想得到参数T Map<T>(IDataReader reader) => ?
,而不是输入两个,我使用包含数字的变量
像这样的东西
$2
问题是变量和参数都使用FOO=2
echo $FOO
所以我不知道如何根据变量中的数字调用特定的参数。我知道我正在解释这个问题,如果可以,请纠正我。
答案 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