我尝试在数组变量中使用变量,但它抛出错误“错误替换”。感谢您的帮助。
示例: ./xxx.ksh 1
NAME1[0]="Zara"
NAME2[0]="Daisy"
if [ $1 -eq 1 ];
then
name=NAME1
echo "First Name: ${${name}[0]}"
else
name=NAME2
echo "Second Name: ${${name}[0]}"
fi
xxx.ksh:第 7 行:名字:${$name[0]}:错误替换
动态变量名非常麻烦。只需使用更好的数组键:
NAME[1,0]=Zara
NAME[2,0]=Daisy
set -- 2
echo ${NAME[$1,0]} # => Daisy
无论如何,实现目标的 bash 方法是使用间接扩展:
NAME1[0]=Zara; NAME2[0]=Daisy; set -- 1; name=NAME$1[0]
echo ${!name} # => Zara