-1
我的目标是从字符串中取第一个字并将其分配给bash数组FIRSTWORD{i]
,并将字符串的其余部分放入另一个数组REST[i]
,其中i
是一个整数计数器。将多字字符串分配给bash数组元素
我尝试这样的做法:(注:严格来说tmp
只是为了调试)
更正:我离开了索引关string
瓦尔。应该是string[1]
和string[2]
。
string[1]="One Two Three Four"
string[2]="Five Six Seven Eight"
# etc etc
for ((i=0; i < ${#string[@]}; i++))
do
set -- ${string[i]}
FIRSTWORD[i]=$1
tmp="${*:2}"
REST[i]=$tmp
echo $tmp
echo ${REST[i]}
done
REST[i]
真可谓等于"Two"
但tmp
等于"one tswo three"
所以,我想:
IFS=$'\n'; REST[i]="${*:2}"; IFS=$' ';
没有喜悦。
那么,我该如何完成这项任务?
对于两个echo语句(在我注释掉字符串的第二个定义之后),我得到了“Two Three Four” – jedwards 2013-04-05 22:38:42
糟糕。那些是字符串[1]和字符串[2]。示例已更正。 – 2013-04-08 11:22:46