位置: 编程技术 - 正文

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实现批量删除
  • linux gcc命令详解
  • 政府回购企业土地
  • 键盘突然打不出来字
  • PHP:mb_convert_kana()的用法_mbstring函数
  • php 字符串函数
  • php声明一个类
  • vue3微前端
  • js解耦
  • css选择器权重
  • 车间打杂工
  • 详细步骤怎么写
  • 增值税申报表中销售额
  • 职工福利费怎么处理
  • 增值税专票的开票要求
  • 开票系统软件升级
  • 进项税额转出最后怎么处理
  • 供货方代垫运费会计分录
  • 已认证未抵扣完的进项
  • phpcms多站点
  • 新会计制度对会计人员的影响
  • 怎么理解财务会计这个岗位
  • mysql skip ssl
  • 总分类账与明细分类账平行登记的要点包括
  • 固定资产的折旧账务处理
  • 无形资产如何摊销 当月还是下月
  • 收到设计费属于什么业务类型
  • 小企业营业外收入包括
  • 印花税的通俗理解
  • 工资社保医保计算
  • sql中的join
  • sqlserver全文索引
  • mysql版本信息
  • win10下mysql 5.7.17 zip压缩包版安装教程
  • win102009发布日期
  • 怎么建立dhcp服务器
  • linux中的find的用法
  • puppset
  • win7系统怎么禁用数字签名
  • win8系统蓝屏后无法修复
  • win10系统中断怎么解除
  • javascript ()
  • Android游戏开发读后感
  • 及将上市的手机
  • jquery的checked
  • 黑马程序员android移动开发基础教程
  • suse linux 网络配置
  • unity3d怎么查看
  • 如何用python画花瓣
  • python编写下载器
  • python开发的程序
  • 粒子特效优化
  • Unity3D游戏开发毕业论文
  • python 判断字符串编码
  • android应用程序包下载安装
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设