【发布时间】:2012-07-10 05:16:00
【问题描述】:
我为 bash 找到了类似的答案,但没有为 sh 找到类似的答案,所以我在问。
我有一个 $STRING,其中包含类似“Jun01 Jun02 Jun03 Jun04”的内容。我想把它放到一个数组中,这样 ${ARRAY[0]} 是“Jun01”,${ARRAY[1]} 是“Jun02”,等等。
我该怎么做?谢谢。
【问题讨论】:
标签: arrays string shell scripting sh
我为 bash 找到了类似的答案,但没有为 sh 找到类似的答案,所以我在问。
我有一个 $STRING,其中包含类似“Jun01 Jun02 Jun03 Jun04”的内容。我想把它放到一个数组中,这样 ${ARRAY[0]} 是“Jun01”,${ARRAY[1]} 是“Jun02”,等等。
我该怎么做?谢谢。
【问题讨论】:
标签: arrays string shell scripting sh
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
【讨论】: