Arrays 空格分隔符数组外壳脚本

Arrays 空格分隔符数组外壳脚本,arrays,shell,delimiter,Arrays,Shell,Delimiter,数组将“空格”作为默认分隔符: str="HI I GOT;IT" arr2=$(echo $str | tr ";" " ") for x in $arr2 do echo " $x" done 输出: 嗨 我 得到 它 我希望输出为: 嗨,我有 它您还没有说这是哪个shell,但它看起来像是bash,所以我将使用它。这是一个用于IFS的作业,它确定bash如何拆分单词。这里我们将其设置为对于单个命令,用于拆分字符串 您还需要正确地迭代数组(使用引号和[@]),以便bash不会在此时再次拆

数组将“空格”作为默认分隔符:

str="HI I GOT;IT"

arr2=$(echo $str | tr ";" " ")
for x in $arr2
do
echo " $x"
done
输出:

得到

我希望输出为:

嗨,我有


您还没有说这是哪个shell,但它看起来像是
bash
,所以我将使用它。这是一个用于
IFS
的作业,它确定
bash
如何拆分单词。这里我们将其设置为
对于单个命令,用于拆分字符串

您还需要正确地迭代数组(使用引号和
[@]
),以便bash不会在此时再次拆分它

str="HI I GOT;IT"
IFS=\; arr=($str)
for x in "${arr[@]}"
do
    echo "$x"
done