嵌套循环结合修改IFS环境变量遍历文件数据中IFS的修改一致性
2024-08-28 05:54:52
以下这个脚本使用了两个不同的IFS值来解析数据。第一个IFS值解析出/etc/passwd文件中的单独的行。内部for循环接着将IFS值改为冒号,云溪你从/etc/passwd的行中解析出单独的值。
#!/bin/bash
#changing the IFS value
IFS.OLD=$IFS
IFS=$'\n'
for entry in $(cat /etc/passwd)
do
echo "Value in $entry -"
IFS=:
for value in $entry
do
echo " $value"
done
# IFS=$`\n`
done
注意看第4、8行以及第13行,明明在内层for循环的时候IFS的值已经被改变了,可是,在下一次大循环里的IFS的值还是'\n'。
这是否可以说明内层循环和外层循环的变量没有必然联系。可是,IFS不是全局变量吗?
以上脚本的运行效果如下:
再有一个问题,注意看上面的运行结果图的test1~test2,然后我们来查一下
并没有含有test的这个值
再看看当前目录下的文件
这些test正是当前目录下的文件
那么脚本运行结果里的test是哪里来的呢?注意看
shell把这个当成是通配符了,结果把当前目录下的文件给显示出来了
最后,特别提醒:第4行的符号是单引号而不是反引号!
最新文章
- 见见面、聊聊天 - 5月22日晚7点Meetup,三里屯绿树旁酒吧,畅谈云技术和应用
- SQL基础概念-指令
- 201. Bitwise AND of Numbers Range -- 连续整数按位与的和
- hdu 4648
- VM虚拟机下在LINUX上安装ORACLE 11G单实例数据库
- BZOJ1108: [POI2007]天然气管道Gaz
- JavaScript、Ajax与jQuery的关系
- 每个Android开发者必须知道的资源集锦
- Linux命令学习-useradd和usermod
- ACdream 1063 平衡树
- 用HTML5实现的各种排序算法的动画比較
- Apache Avro# 1.8.2 Specification (Avro 1.8.2规范)一
- Day6_内置函数
- pytest 15 fixture之autouse=True
- 开源litemall学习
- FW/IDS/IPS/WAF等安全设备部署方式及优缺点
- 好用的Chrome插件推荐
- Alpha冲刺6
- jenkins shell部署
- 微信公众号支付(JSAPI)对接备忘