一、对于不包含空格的字符串,使用下面方法
方法一
#!/bin/bash
str="one,two,three,four,five"
array=${str//,/ } # 这里会将array中的,替换为空格
for ele in $array
do
echo $ele
done
方法二:设置分隔符,通过 IFS 变量
#!/bin/bash
string="one,two,three,four,five"
OLD_IFS="$IFS"
IFS=","
array=($string)
IFS="$OLD_IFS"
for var in ${array[@]}
do
echo $var
done
方法三:利用tr 指令实现字符替换
#!/bin/bash
string="one,two,three,four,five"
array=(`echo $string | tr ',' ' '` )
for var in ${array[@]}
do
echo $var
done
输出结果:
二、对于包含空格的字符串,使用下面方法
#!/bin/bash
str='this is a good question, hello shell, look at me, show your enthusiasm'
i=1
while((1==1))
do
splitchar=`echo $str|cut -d "," -f$i`
if [ "$splitchar" != "" ]
then
((i++))
echo $splitchar
else
break
fi
done
输出结果: