shell中内置字段的分隔符IFS

shell中默认的字段分隔符是空白字符(空格,制表符,换行符)

#!/bin/bash
a="aa,bb,cc,dd,ee"
for i in $a
do
        echo $i
done
输出为:
aa,bb,cc,dd,ee 

我们想要的输出结果可能是这样

1 aa
2 bb
3 cc
4 dd
5 ee

自定义分隔符

#!/bin/bash
oldIFS=$IFS        #定义变量为默认的IFS
IFS=,              #设置默认的分隔符
a="aa,bb,cc,dd,ee"
for i in $a
do
        echo $i
done
IFS=$oldIFS        #还原默认值

这样我们就能够得到我们想要的输出结果了

原文地址:https://www.cnblogs.com/thebear/p/8491408.html