shell脚本中将 IFS (Internal Field Separator 内部字段分隔符)替换为换行符


将 IFS 中的空白符(换行、制表符、空格)修改为仅包含换行

IFS 是shell中的内部变量,在使用

for var in var_list;do
use $var do something
done

这样的语句时,可以用 IFS 的值来分隔其中内容。有时候,var_list 中的内容有空格或制表符,但应当按行分割。这时,如果不修改IFS的值会影响后续操作。
我使用 IFS=`echo -e "\n"` 没法修改,后来在看网上的资料时发现了一种非常巧妙的方法

IFS='
'

这样就是一个完整的换行了。然后我受此启发:上面的换行,实际上如果用代码表示是 \n\r 我试了一下,果然就可以用了。

所以最后,可以让IFS仅分割换行的方法是:

IFS='
'

IFS=`echo -e "\n\r"`


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM