IFS是啥,定义是:
内部字段分隔符(Internal Field Separator, IFS)是shell脚本中的一个特殊变量,在处理文本数据很有用。把单个数据流划分成不同的数据元素的定界符,内部字段分隔符就是用于特定用途的定界符。IFS是存储定界符的环境变量,是shell环境中的默认定界符字符串,默认值为空白字符(换行符、制表符、空格)
----说人话就是,IFS是shell爸爸已经内定好的功能就是分隔变量,默认就是对字段起分隔作用
然后再看个例子
发现了吧,我字符串的超级多空格,都化为乌有,只有一个。然后加了双引号就完整展现原汁原味了。
因为双引号括起来,表示里面是个整体完整的,不受系统IFS内置分隔符影响
#!/bin/bash
cat /root/a/test1.txt
echo "----------------测试打印一下test1.txt文件-----------甜芯玉米--------------------"
for i in `cat /root/a/test1.txt` ;do
echo $i
done
IFS=$oldIFS #把内置变量分隔符回复出厂