我发现类似的答案为bash,但不适用于sh,所以我问。sh脚本:字符串到数组
我有一个$ STRING,其中包含“Jun01 Jun02 Jun03 Jun04”之类的内容。我想把它放到一个数组中,使得$ {ARRAY [0]}是“Jun01”,$ {ARRAY [1]}是“Jun02”等。
我该怎么做?谢谢。
我发现类似的答案为bash,但不适用于sh,所以我问。sh脚本:字符串到数组
我有一个$ STRING,其中包含“Jun01 Jun02 Jun03 Jun04”之类的内容。我想把它放到一个数组中,使得$ {ARRAY [0]}是“Jun01”,$ {ARRAY [1]}是“Jun02”等。
我该怎么做?谢谢。
sh没有数组,但以下hack通常是足够的:
set $STRING
for x; do eval "ARRAY_$((i++))='$x'"; done
现在,(假设i
是未设置或0开始),$ARRAY_0
具有价值Jun01
,$ARRAY_1
是Jun02
等
你可以逃脱的位置参数:他们是阵列等。
set -- $STRING # no quotes here
echo $1
echo $2
# etc
好吧我想我会去bash。 – JDS 2012-07-10 17:05:27