位置: 编程技术 - 正文

Shell编程中while与for的区别及用法详解(shell while)

编辑:rootadmin

推荐整理分享Shell编程中while与for的区别及用法详解(shell while),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell的while语句,Shell编程中的循环,Shell编程中显示的变量的为,Shell编程中显示的变量的为,Shell编程中显示的变量的为,Shell编程中的switch,Shell编程中实现多条件控制的是,Shell编程中实现多条件控制的是,内容如对您有帮助,希望把文章链接给更多的朋友!

在shell编程中经常用到循环,常用的循环有for和while循环两种。while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别。

一、常用语法

1、for循环

for循环常用的语法结构有如下几种:

for 变量 in seq字符串for 变量 in `command` " "for 变量 in "$@"或“$*”for((赋值;条件;运算语句))

2、while循环

while循环常用的语法结构有如下几种:

二、行读取示例

这里以常见的df获取磁盘信息为例,了解下使用for和while的几种循环方法处理时的区别。先看下我写的脚本,内容如下:

上面的脚本执行时结果如下:

可以看到,只有后面两种方法可以正常获取到我们想要的数据,前面两种方法在处理时和我们想要的结果都不一样。此示例得出的结果为:

1、while循环: 以行读取文件,默认分隔符是空格或者Tab;

2、for循环: 以空格读取文件,也就是碰到空格,就开始执行循环体,所以需要以行读取的话,就要把空格转换成其他字符。

三、ssh连接与wait

这里还是以一个测试脚本为例:

Shell编程中while与for的区别及用法详解(shell while)

此示例的结果这里不再输出,具体可以使用该脚本ssh几台主机做个测试,测试后得到结果如下:

1、for循环: 循环体在后台执行,等待循环体全部执行结束,后面的命令接着执行。

2、while循环: wait没起到作用,循环体在后台执行,后面的命令也同时在执行。循环体内有ssh、scp、sshpass的时候有执行一次循环就退出的情况,解决该问题方法有如下两种:

a、使用ssh -n "command" ;b、将while循环内加入null重定向,如 ssh "cmd" < /dev/null 将ssh 的输入重定向输入。

四、执行效率

在对大文件进行按行读取(for在读取文件时,可以for i in `cat filename`进行按行读取)的效率方面,经测试while 要更快一些。

shell:for和while用法

写法一:

----------------------------------------------------------------------------#!/bin/bash

while read linedoecho $linedone < file(待读取的文件)----------------------------------------------------------------------------

写法二:(并发脚本慎用,grep不能输出全部匹配的信息)----------------------------------------------------------------------------#!/bin/bash

cat file(待读取的文件) | while read linedoecho $linedone----------------------------------------------------------------------------

写法三:

----------------------------------------------------------------------------for line in `cat file(待读取的文件)`doecho $linedone----------------------------------------------------------------------------

说明:

for逐行读和while逐行读是有区别的,如:

如何使用微博自动记录俯卧撑个数 根据SMART原则我制定了年的目标。每个月都有一个小目标,每个目标都是specific(具体)、Measurable(可度量)、Attainable(可实现)、Relevant(相关性)、Time-bound(

Linux系统中bash shell编程的个基础问题讲解 第1问:为何叫做shell?在介绍shell是什么东西之前,不妨让我们重新审视使用者与电脑的关系。我们知道电脑的运作不能离开硬件,但使用者却无法直接

Linux shell编程中IO和条件及循环处理的细节问题讨论 ?差在哪?谈到I/Oredirection,不妨先让我们认识一下FileDescriptor(FD)。程序的运算,在大部份情况下都是进行数据(data)的处理,这些数据从哪读进?又

标签: shell while

本文链接地址:https://www.jiuchutong.com/biancheng/371420.html 转载请保留说明!

上一篇:使用netcat(瑞士军刀)进行文件传输

下一篇:如何使用微博自动记录俯卧撑个数(微博是怎么用)

  • 一人在两家公司上班怎么缴纳个税
  • 材料用于非应税项目
  • 补报以前年度收入后当年所得税怎么处理
  • 快递公司快递人员工资记入什么会计科目
  • 所得税申报表营业成本填什么数据
  • 往来账款怎么做
  • 职工教育经费中其他费用包括
  • 个体小规模一般纳税人税率多少
  • 一般纳税人月销售额多少免征增值税
  • 房地产开发企业预收款预缴增值税
  • 工业企业会计错账处理方法有哪些
  • 财务杠杆和经营杠杆的区别
  • 债券投资损失准备累计已计提
  • 企业购买硬件与软件该如何做账?
  • 外地预缴企业所得税汇算清缴退税
  • 补交关税增值税怎么做分录?
  • 年终奖个税筹划临界点
  • 年底没有取得发票企业所得税
  • 增值税进项税抵扣规定
  • 年终奖缴税将有大变化
  • 小规模增值税未开票收入填哪里
  • 机动车发票冲红怎么操作
  • 进项税额转出的
  • 个体工商户怎么交税
  • 一般纳税人减免的增值税怎么记账
  • 汽车厂家金融贴息 是贴利息的还是贴车价
  • 年初未交增值税借方怎么处理
  • 高新技术企业的行业
  • 法律的禁止性规定
  • 农业合作社零申报流程
  • 税金及附加审计说明怎么写
  • 利息股息红利所得属于综合所得吗
  • PHP:Memcached::getOption()的用法_Memcached类
  • 二手房过户需要哪些手续和费用2023
  • 诉讼费属于什么科目类别
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
  • 结转损益类收入科目
  • framework4.0怎么打开
  • 建筑行业现在还能斤不
  • 生成php文件
  • 腾讯一面问什么
  • 再生资源增值税退税优惠政策
  • 帝国cms怎么用
  • 商贸公司库存商品怎么做分录
  • 购进小汽车自用为什么可以抵扣进项税
  • 个人所得税既有工资薪金又有劳务报酬房屋租金
  • java队列用法
  • java委托模式和代理模式
  • 年收入1500万是富人吗
  • 公司开普票和专票税率一样吗
  • 广告公司可以不开发票吗
  • 一般纳税人销售旧货
  • 低值易耗品如何评估
  • 个人所得税税前扣除凭证
  • 发票验旧后才能领新发票吗
  • 出售房产收入属于转让财产收入吗
  • 小规模减半征收房产税文件
  • winx64下mysql5.7.19的基本安装流程(详细)
  • mysql快照读的实现
  • VISTA 下如何通过红外线连接外接设备 以索尼手机为例
  • 列举linux常用的版本
  • fedora8安装教程
  • 笔记本没有光驱怎么加装固态硬盘
  • Windows 7 RTM、Vista、XP 性能测试
  • 用linux做服务器
  • win10多用户独立
  • jquery实现表单验证
  • android自学之路
  • php消息队列面试题及答案
  • 重装操作系统后无法开机
  • unity learn
  • nodejs抓取网页内容
  • pythonlist删除指定位置元素
  • python函数设置
  • js实现一个lazyman
  • javascript对象的常用方法
  • python运行时间的几种方法
  • 电子湖北税务局
  • 北京地税电话咨询
  • 专票清单用什么纸打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设