为循环中的变量赋值并使用korn shell打印它

时间:2014-03-23 23:05:18

标签: unix

我在尝试为循环中的变量赋值并尝试使用korn shell打印时遇到问题。我想在我的脚本的后面部分使用该变量。所以我试着通过打印我刚刚从我的数组中分配给它的动态变量的值来在循环中进行测试。

#!/usr/bin/ksh
clear
BINPATH=/usr/bin
SVR_LIST=servers_list

set -A SERVERS `cat $SVR_LIST`
typeset -i i=0

while [ $i -lt ${#SERVERS[@]} ] ; do
#print ${SERVERS[$i]}
typeset -l s${i}=${SERVERS[$i]}
echo "Value of Variable is " ${s{$i}}
(( i=i+1 ))
done

我收到了以下错误。

./ test.sh [12]:$ {s {$ i}}:错误替换

1 个答案:

答案 0 :(得分:0)

尝试

eval echo "Value of Variable is \${s$i}"

您需要两个评估步骤(一次用于$i,一次用于其余步骤),因此您需要eval