【发布时间】:2016-02-29 20:37:01
【问题描述】:
我想使用一个变量作为索引值来引用传递给脚本的位置变量,例如:
x=101
y=201
z=301
foo(){
i=0;
(( i+=1 )); # i=1
echo "${$i}"; # parameter 1
(( i+=1 )); # i=2
echo "${$i}"; # parameter 2
(( i+=1 )); # i=3
echo "${$i}"; # parameter 3
}
foo x y z
输出:
101
201
301
在这种情况下,数组和循环将无济于事,我需要一个简单的方法来增加一个 int 变量并使用这个值作为索引来检索传递的方法参数。
建议?
【问题讨论】:
-
提示:shellcheck 识别常见的错误和错误的尝试,including this one。
-
你可以用
while [ $# -gt 0 ]; do echo "Next par is $1 "; shift; done显示pars
标签: linux bash shell variables