字段分隔符和迭代器

    内部字段分隔符(Internal Field Separator)是shell脚本编程中的一个重要概念。在处理文本数据时,有很大的作用。内部字段分隔符是用于特定用途的定界符,IFS是存储定界符的环境变量,它是当前shell环境中使用的默认定界符字符串。

    例一:data="name,sex,rollo,location"

我们可以使用IFS读取变量中的每一个条目

28.png输出如下29.png

   IFS的默认值为空白符(换行符,制表符或者空格)

   当IFS被设置为逗号时,shell将逗号视为一个定界符,因此变量$Item在每次迭代中读取由逗号分隔的子串作为变量值。如果没有把IFS设置为逗号,那么上面的脚本会将全部数据作为单个字符串打印出来。

    

    例二:以/etc/passwd为例,利用IFS的用法,取出每一位用户使用的shell类型,脚本如下

30.png

运行脚本显示的结果就是/etc/passwd中每位用户的shell类型,运行结果如下,显示部分截图

31.png

对一系列值进行迭代时,循环非常有用

部分内容摘自《Linux shell 脚本攻略》

原创文章,作者:black_fish,如若转载,请注明出处:http://www.178linux.com/35746

赞 (0)
black_fishblack_fish
上一篇 2016-08-15 11:58
下一篇 2016-08-15 11:58

相关推荐

  • Linux的启动流程

    Linux的启动流程大致上如下图. 现在详细说明一下每个步骤: 第一阶段 当系统启动时,系统首先会加载BIOS。BIOS的首先会检查各硬件设备,当检查完毕没有问题之后。BIOS会根据设定的BootSequence来寻找可以引导系统的设备。一般而言,Linux是通过磁盘上MBR来引导系统的。 第二阶段 MBR是Master Boot Record,是位于磁盘第…

    Linux干货 2016-02-28
  • Linux的哲学思想

    初学Linux,了解一下Linux的哲学思想,对学习Linux还是非常有帮助的。 在了解Linux的哲学思想之前,可以先考虑一下,现在我们所学的Linux系统到底是面向什么应用场景而研发和使用的?个人认为:面向企业,是一个服务器操作系统。其所关注的地方是:高性能、可靠性、易维护性。 基于上述方面的考虑,Linux系统在构建和设计的时候,遵循了如下的哲学思想进…

    Linux干货 2017-08-30
  • Linux基础学习总结(六)

    一、完成如下练习 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; vim: cp /etc/rc.sysinit /tmp/rc.sysinitvim/tmp/rc.sysinit:%s@^[[:space:]]\+@#&@g sed: sed “s/…

    Linux干货 2016-10-30
  • linux下VMware Tools安装方法

    关于VMware Tools 是虚拟机里面的驱动,和各种实用工具,安装了vmware tools,你的虚拟机就可以打开DX3D的支持,鼠标想移出虚拟机也不需要按组合键,文件可以从主机直接拖动复制到虚拟机里面,虚拟机的分辨率也会自动跟随窗口调整而变化,还能解决图形界面下的卡顿,总之就是拓展了虚拟机的功能,方便使用。     &nb…

    Linux干货 2016-08-04
  • 网络管理之虚拟网卡实现一个网卡多个地址

    一.概述 在虚拟机中实现一个网卡多个地址 完成这个功能之前需要先关闭NetworkManager功能(在centos 6系统)         chkconfig NetworkManager off   而且我们要实现虚拟网卡一个网卡多个地址只是对虚拟机有用 网卡别名…

    Linux干货 2016-09-16
  • 重定向

    Linux下定义了三种I/O设备: 标准输入(STDIN):用0表示,默认的标准输入设备是键盘; 标准输出(STDOUT):用1表示,默认的标准输出设备是当前终端; 标准错误(STDERR):用2表示,默认的标准错误输出设备是当前终端; I/O重定向即改变默认的位置 1 标准输出重定向 (1)将标准输出重定向到其他终端 /dev/pts/1代表伪终端1,在伪…

    Linux干货 2017-07-31