0

これは、はるかに大きなスクリプトから簡略化された部分です。私は文字列のセットをループするためのconterとしてiを使用しています。

ループしている複数の文字列"word1word2 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が好きではありません... HPまたはSolarisの-nの代わりにここで何ができますか?ボックスでnamerefを実行すると、nameref:notfoundが表示されます。

4

1 に答える 1

1

ksh88 は、Solaris、HP-UX、および AIX のデフォルトの ksh です。ただし、ksh88 には使用可能な変数の配列が必要です。

#/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 に答える