0
我已经从文件中读取输入,并且文件中的每一行都将以'|'结尾。我想循环到一个数组,以便在后面的代码中使用。这是我到目前为止,但通过数组循环不起作用。Unix:将这些值附加到动态数组中以供将来使用
#!/bin/ksh
TEMP="abc1|abc2|abc3 1;abc4 1"
rest=$TEMP
field=()
while [ -n "$rest" ]
do
str=${rest%%\|*}
field+=("$str")
[ "$rest" = "${rest/\|/}" ] && rest= || rest=${rest#*\|}
#print $str
done
for x in ${field}
do
echo $x
done
print $ str正常,但当我循环获取值时,我没有得到值。 任何帮助来解决这个问题。
谢谢。
这是他需要做的加上'[@]'和引用它,如什么。 – karakfa
请解释它或在答案中强调它......它被标记为太短。 (先前的评论被删除)。 –