赞
踩
IFS是shell脚本中的一个重要概念,在处理文本数据时,它是相当有用的。内部字段分隔符是用于特定用途的定界符。
IFS是存储定界符的环境变量,它是当前shell环境使用的默认定界字符串。
IFS的设置方法很简单,和普通变量设置方法类似:建议设置IFS前保存原IFS的值,在使用后及时恢复。
使用ifs忽略换行符的示例代码如下:
- #!/bin/bash
- file="university"
- IFS=$'\n'
- for university in `cat $file`
- do
- echo "nanjing has famous university of $university"
- done
- ~
university的内容如下:
- [root@localhost shell]# cat university
- southeast universiyt
- nanjing university
- nanshida
- nanhang
- nanligong
- oot@localhost shell]# ./ifs.sh
- nanjing has famous university of southeast universiyt
- nanjing has famous university of nanjing university
- nanjing has famous university of nanshida
- nanjing has famous university of nanhang
- nanjing has famous university of nanligong
一个可参考的简单实践在改变IFS之前保存原来IFS值,在后再恢复它。
这种技术可以这样编程:
IFS.OLD=$IFS
IFS=$'\n'
<use ...............>
IFS=$IFS.OLD
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。