argument_number=$#
for ((i = 2; i <= $argument_number; i++))
do
echo ${lower[$i]]}
done
我想将参数值作为索引号进入数组,例如,如果我的第二个argumnet是15想要得到更低[15]但它给出更低[2]我该怎么办,是否有任何建议,帮助
答案 0 :(得分:1)
如果我理解正确,数组${lower[@]}
的索引由命令行参数给出;在这种情况下,您只需使用:
shift # skip the 1st argument
for index; do # this loops over all command-line arguments; same as: for index in "$@"; do
echo "${lower[index]}"
done
注意:
我已经双引号 ${lower[index]}
,以便保护shell免受不必要的解释 - 除非您特别希望shell执行分词并且对变量值进行通配,你应该引用所有变量引用。
Bash中的数组下标在算术上下文中进行评估,这就是为什么变量index
可以在没有通常$
的情况下引用的原因前缀。