文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. IFS定义
Linux下有一个特殊的环境变量叫做IFS,叫做内部字段分隔符(internal field separator)。IFS环境变量定义了bash shell用户字段分隔符的一系列字符。默认情况下,bash shell会将下面的字符当做字段分隔符:空格、制表符、换行符。
2. IFS修改
Bash shell会将上面的三个字符当做列表中新字段的开始。例如,1 2 3
字符串在shell中会当做三个字段1,2,3。如果想要以逗号分隔字段,则要修改IFS的值,修改如下:
1 | IFS=',' |
3. Demo
- shell脚本文件test.sh
1 |
|
- test.sh用的文件file
1 | 1,2,3 |
- 运行结果
1 | $ ./test.sh |
4. 注意事项
- 在shell脚本较大时可能在某些部分需要修改IFS,而某些部分要改回默认的IFS值,操作如下
1 | ... |
- 需要多个符号作为分隔符,以
:
,,
,;
作为分隔符
1 | IFS=':;,' |
参考资料:
- Linux命令行与shell脚本大全