自定义Shell分隔符
发布时间:2020-12-16 01:38:39 所属栏目:安全 来源:网络整理
导读:在shell中使用for循环语句时,参数列表有时候需要将空格纳入参数当中,这时就不好使用空格作为分隔符。如下例中,我实际想要输出的是a1、a2、b1、b2以及hello world,但却输出了如下内容: [[email?protected] ~]# vim a.sh#!/bin/bashlist="a1 a2 b1 b2 "h
在shell中使用for循环语句时,参数列表有时候需要将空格纳入参数当中,这时就不好使用空格作为分隔符。如下例中,我实际想要输出的是a1、a2、b1、b2以及hello world,但却输出了如下内容: [[email?protected] ~]# vim a.sh #!/bin/bash list="a1 a2 b1 b2 "hello world"" for var in $list do echo $var done [[email?protected] ~]# sh a.sh a1 a2 b1 b2 "hello world" 默认情况下,shell会以空格、制表符、换行符作为分隔符,但遇到以上情况时,需要使用IFS来自定义shell的分隔符。 IFS可以指定单个字符作为分隔符,IFS=:(以冒号作为分隔符);IFS也可以指定多个字符作为分隔符,IFS=n:;(以反斜杠、n、冒号、分号作为分隔符)。注意:在IFS中,$‘n‘和$‘t‘才是换行符和制表符。 实例如下: [[email?protected] ~]# vim a.sh IFS=$‘n‘ list="a1a2na3" #!/bin/bash IFS=: for var in `tail -4 /etc/passwd | head -2` do echo $var done [[email?protected] ~]# sh a.sh polkitd x 999 998 User for polkitd / /sbin/nologin sshd x 74 74 Privilege-separated SSH /var/empty/sshd /sbin/nologin (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- JAX-WS HandlerChain使用详解
- bash – 输出apt-get升级到文本
- [Angular] Angular i18n Alternative Expressions Support
- Angular_Angular中类似于检查到视图在更新,等待视图更新完
- 寻找真凶Echarts or Angular
- Jasmine Test:如何在AngularJS中模拟控制器内的方法
- 如果密钥存在,则在Scala映射中向元素添加数字的好方法或不插
- 几种常见的Shell:sh、bash、csh、tcsh、ash
- 在加载时默认选中Angularjs复选框,并在选中时禁用选择列表
- 在Scala中调用基于模板类型的方法