我有一个字符串
echo $STRING
给出
first second third fourth fifth
基本上是一个用空格分隔的列表。
我如何获取该字符串并使其成为一个数组,以便
array[0] = first
array[1] = second
等..
我试过了
IFS=' ' read -a list <<< $STRING
但是当我做一个
echo ${list[@]}
它只打印出“first”,没有别的
最佳答案
其实很简单:
list=( $STRING )
或者更详细一点:
declare -a list=( $STRING )
PS:您不能在同一命令中导出 IFS 并使用新值。您必须先声明它,然后在以下命令中使用它的效果:
$ list=( first second third )
$ IFS=":" echo "${list[*]}"
first second third
$ IFS=":" ; echo "${list[*]}"
first:second:third
关于linux - Bash 脚本将带有空格分隔标记的字符串转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15575976/