0

这是一个更大脚本的简化部分。我使用 i 作为循环遍历一组字符串。

我有多个字符串“word1 word2 word3 word4 .....wordx”,我正在循环

i=1
typeset "STRING$i=`echo $string | cut -d' ' -f1-50`"
typeset -n NEWVAR="STRING$i"
do_stuff_here_w_NEWVAR
done

这在 Linux 上很好用,但是我的 HP 和 SOL 盒子不喜欢 typeset-n...我可以在这里做什么而不是 -n 用于 HP 或 Solaris?当我在我的盒子上运行 nameref 时,我得到 nameref:not found

4

1 回答 1

1

The ksh88 is the default ksh in Solaris, HP-UX, and AIX. But ksh88 should have available arrays of variables:

#/usr/bin/ksh
typeset -i cnt=0

yourarray[$cnt]='word1'
((cnt = cnt + 1))
yourarray[$cnt]='word666'

echo ${yourarray[0]}
word1

echo ${yourarray[1]}
word666

echo ${yourarray[2]}
    # nothing
于 2012-10-25T14:09:13.253 回答