在文件中有多列,通常读取的时候会把一行分为多行进行读取,这样就不能达到使用的目的,看下面的例子:
[root@wulaoer ~]# cat wulaoer.org python golang linux centos nginx devops java springboot jenkins ldap django mysql redis mongodb es mq zabbix prometheus pinpoint grafana
这是我文件中的内容,分了四段,如果我使用cat读取显示没有问题,使用for循环时,会循环的字符串每段都会进行换行
[root@wulaoer ~]# for i in `cat wulaoer.org`;do echo $i;done python golang linux centos nginx devops java springboot jenkins ldap django mysql redis mongodb es mq zabbix prometheus pinpoint grafana
这个结果不是想要的,所以无法使用,那就换个方法吧。看下面的循环
方法一:
[root@wulaoer ~]# while read line;do echo "######",$line;done < wulaoer.org ######,python golang linux centos ######,nginx devops java springboot ######,jenkins ldap django mysql ######,redis mongodb es mq ######,zabbix prometheus pinpoint grafana ######,
方法二:
[root@wulaoer ~]# cat wulaoer.org | while read myline;do echo "###",$myline;done ###,python golang linux centos ###,nginx devops java springboot ###,jenkins ldap django mysql ###,redis mongodb es mq ###,zabbix prometheus pinpoint grafana
这样就可以满足我的需求了,可以根据这个在执行shell文件多个参数时做批量处理。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏