2012-09-24 45 views
0

這是一個更大的腳本的簡化部分。我用我作爲conter來循環一組字符串。HP/SOL的等效排版-n選項

我有多個字符串「字詞1字詞2 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? 當我在我的盒子上運行nameref時,獲得nameref:未找到

+0

solaris,看看你是否能找到ksh93或dtksh。 ksh88不支持Namesrefs,這是這兩個操作系統的默認ksh。祝你好運。 (不知道惠普)。 – shellter

回答

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 
相關問題