我的目标是从字符串中取出第一个单词并将其分配给bash数组FIRSTWORD{i]
并取出其余字符串并将其放入另一个数组REST[i]
{{1}是一个整数计数器。
我尝试了这种方法:(注意:严格来说i
仅用于调试)
更正:我将索引从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"
没有快乐。
那么,我该如何完成这项任务呢?
答案 0 :(得分:1)
找到我的答案。我改变了:
REST[i]=$tmp
到
REST[i]="$tmp"
现在读取的数据保持在一起。
我认为这与bash以及命令行拆分和通配数据有关。