在 Bash 中将字符串拆分为数组

假设我们有一个 String 参数,我们想用逗号分割它

my_param="foo,bar,bash"

要用逗号分割这个字符串,我们可以使用;

IFS=',' read -r -a array <<< "$my_param"

这里,IFS 是一个名为内部字段分隔符的特殊变量,它定义了用于将模式分离为某些操作的标记的字符。

要访问单个元素:

echo "${array[0]}"

迭代元素:

for element in "${array[@]}"
do
    echo "$element"
done

要同时获取索引和值:

for index in "${!array[@]}"
do
    echo "$index ${array[index]}"
done