编码:
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无效
答案 0 :(得分:3)
在Bash中,您可以使用以下命令执行间接查找变量名称查找:
${!j}
您还可以将参数分配给数组,然后索引数组。
args=("$@")
echo "${args[$j]}"