内部字段分隔符(Internal Field Separator)是shell脚本编程中的一个重要概念。在处理文本数据时,有很大的作用。内部字段分隔符是用于特定用途的定界符,IFS是存储定界符的环境变量,它是当前shell环境中使用的默认定界符字符串。
例一:data="name,sex,rollo,location"
我们可以使用IFS读取变量中的每一个条目
输出如下
IFS的默认值为空白符(换行符,制表符或者空格)
当IFS被设置为逗号时,shell将逗号视为一个定界符,因此变量$Item在每次迭代中读取由逗号分隔的子串作为变量值。如果没有把IFS设置为逗号,那么上面的脚本会将全部数据作为单个字符串打印出来。
例二:以/etc/passwd为例,利用IFS的用法,取出每一位用户使用的shell类型,脚本如下
运行脚本显示的结果就是/etc/passwd中每位用户的shell类型,运行结果如下,显示部分截图
对一系列值进行迭代时,循环非常有用
部分内容摘自《Linux shell 脚本攻略》
原创文章,作者:black_fish,如若转载,请注明出处:http://www.178linux.com/35746