IFS的默认值为空白字符(换行符、制表符或者空格)。
字段分隔符IFS的简单案例
#! /bin/bash # 模拟CSV数据 data="a,b,c" # 保存初始的字段分隔符 oldIFS=$IFS # 修改字段分隔符 IFS=',' for x in $data do echo $x done # 恢复至初始的字段分隔符 IFS=$oldIFS
输出结果如下:
a
b
c
当IFS被设置为逗号时,shell将逗号视为一个定界符,因此变量$x在每次迭代中读取由逗号分隔的子串作为变量值。
如果没有把IFS设置成逗号,那么上面的脚本会将全部数据作为单个字符串打印出来。