如何使用变量按顺序传递参数

时间:2014-12-17 15:30:19

标签: bash shell unix

编码:

intVarNos=$#
strInp="Name1;Name2"
arrInp=(${strInp//;/ })

for ((i=0; i<=intVarNos-1; i++))
do
j=$((i+1))
echo "Value of " ${arrCTN[$i]} " is " $j
done

我的要求是以下列格式打印参数或参数

$./college.sh John Peter
Value of Name1 is John  
Value of Name2 is Peter 

但我得到的结果是

Value of Name1 is 1
Value of Name2 is 2

打印参数的常用方法是$ 1,$ 2 ....在这种情况下,如何打印my参数的值。 $$ j无效

1 个答案:

答案 0 :(得分:3)

在Bash中,您可以使用以下命令执行间接查找变量名称查找:

${!j}

您还可以将参数分配给数组,然后索引数组。

args=("$@")
echo "${args[$j]}"