位置: 编程技术 - 正文

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(瑞士军刀)进行文件传输

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

  • 塑料制品开票税率
  • 未认证的进项税能做转出处理吗
  • 电费的增值税税率是多少
  • 进项税额和销项税额是什么
  • 年终奖报表怎么做
  • 食堂买菜无发票可以在费用中开支吗
  • 红字发票是否需要写进出仓单里
  • 进项税额留底月底销项税金如何结转?
  • 技术开发免税收益方
  • 永续债的利息会计处理
  • 哪些燃料油不征消费税了
  • 个人所得税的税收优惠项目有哪些
  • 注销公司房产税从哪年从哪年开始交
  • 食品发票需要清关吗
  • 汽车配件的税收编码是多少
  • 增票丢失怎么开完税证明
  • 集团企业涉税需求网络
  • 公司所得税汇算清缴退税流程
  • 发票开负数冲红做什么会计分录?
  • 上年的费用本年能报销吗
  • 出口退税挂靠业务如何做帐?
  • 股权投资收入会计处理
  • 管理费用企业所得税标准
  • Mac怎么用有线网络
  • 报税系统维护费怎么入账
  • win10清空回收站是灰色的
  • win7有线连接怎么设置
  • 小规模纳税人缴税标准是什么
  • 应收账款包括哪些
  • 完美解决战网已休眠正在唤醒它
  • 黄石国家公园的建立意义
  • 将资本公积转为实收资本什么变了
  • local_rank,rank,node等理解
  • jsoup js
  • 2023年网络安全专题教育
  • php导出带样式的数据库
  • mysql alter table命令修改表结构实例详解
  • python语言接收信息的内置函数
  • 旅行社代订机票的发票可以抵税吗
  • 纸质增值税专用发票申领
  • 外管证异地预缴税款是什么意思
  • php判断数据类型
  • 电脑自学网站推荐
  • 筹建养老院国家有哪些优惠政策?
  • 印花税技术服务合同包括哪些
  • 工程款增值税专用发票需要写工程名称吗
  • 中小企业财务核算的重要性
  • 汇总记账凭证账务处理
  • 银行利息支出税率是多少
  • 银行存款期初余额调整会计分录
  • 企业营业外收入要交所得税吗
  • 销项税进项税月末怎么处理
  • 赠送代金券活动方案
  • 股东分红申报个税怎么填
  • 应收款和坏账的关系
  • 承兑汇票的贴现利息
  • 帮别人注册医疗器械法人有风险吗
  • 转售水电费收入确认
  • 暂估入库一直未取得发票需要调账吗
  • 为什么会有进项税和销项税
  • 民办学校学费收入
  • 年化率23%是几分利息
  • 净利润和毛利润的区别公式
  • 建账选用什么会计制度
  • Win7系统关闭怎么办
  • win10系统如何将c盘的软件移到d盘
  • 微软更新kb4474419
  • [视频]看科学家如何将纯净水变成金属
  • win7系统的启动项在哪里
  • scanregistry.exe - scanregistry是什么进程 有什么用
  • vue eventhub
  • vue router routes
  • jquery实现div左右移动
  • js 不用var
  • 空调设备税率多少钱
  • 税控盘时钟异常去政务大厅那个窗口办理
  • 税务局六大攻坚
  • 服务费交哪个税目的印花税
  • 微山湖到底属于哪里
  • 社保申报截止日期每月
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设