位置: 编程技术 - 正文

Shell脚本的条件控制和循环语句(shell脚本的fi)

编辑:rootadmin

推荐整理分享Shell脚本的条件控制和循环语句(shell脚本的fi),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell脚本条件判断变量是否大于一个数,shell脚本条件判断语句,shell脚本条件判断语句,shell脚本条件判断输入的值在某些数之中,shell脚本条件判断命令,shell脚本条件判断语句,shell脚本条件语句,shell脚本条件判断命令,内容如对您有帮助,希望把文章链接给更多的朋友!

条件判断:if语句

语法格式:

注意:expression 和方括号([ ])之间必须有空格,否则会有语法错误。

if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:

示例:

if ... else 语句也可以写成一行,以命令的方式来运行:

if ... else 语句也经常与 test 命令结合使用,作用与上面一样:

分支控制:case语句

case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。

示例:

转换成C语言是:

对比看就很容易理解了。很相似,只是格式不一样。

需要注意的是:

取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。

取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。

再举一个例子:

运行结果:

这里用到了特殊变量${1},指的是获取命令行的第一个参数。

for循环

shell的for循环与c、php等语言不同,同Python很类似。下面是语法格式:

for 变量 in 列表

示例:

输出:

顺序输出字符串中的字符:

运行结果:

This is a string

遍历目录下的文件:

上面的代码将遍历当前目录下所有的文件。在Linux下,可以改为其他目录试试。

遍历文件内容:

city.txt

Shell脚本的条件控制和循环语句(shell脚本的fi)

输出:

beijingtianjinshanghai

while循环

只要while后面的条件满足,就一直执行do里面的代码块。

其格式为:

while commanddoStatement(s) to be executed if command is truedone

命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。

示例:

输出:

Value c is 0Value c is 1Value c is 2

这里由于shell本身不支持算数运算,所以使用expr命令进行自增。

until循环

until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。

将上面while循环的例子改改,就能达到一样的效果:

首先do里面的语句块一直在运行,直到满足了until的条件就停止。

输出:

Value c is 0Value c is 1Value c is 2

跳出循环

在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。

break

break命令允许跳出所有循环(终止执行后面的所有循环)。

运行结果:

在嵌套循环中,break 命令后面还可以跟一个整数,表示跳出第几层循环。例如:

break n

表示跳出第 n 层循环。

continue

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

运行结果:

以上内容是小编给大家介绍的Shell脚本的条件控制和循环语句的相关知识,希望对大家有所帮助!

实战模拟监控MySQL服务shell脚本小结 1)端口判断法==仅适合数据库本地使用法1:if条件判断方法[root@oldboyscripts]#catcheck_db.sh#!/bin/sh#createdbyoldboy#mail:oldboy@gmail.comPortNum=`netstat-lnt|grep|wc-l`

一天一个shell命令 文本操作系列-linux dd使用教程 今天第一天写,先说下写shell脚本的基本知识1.shell脚本以.sh为扩展名,通常运行./${filename}.sh或者sh${filename}.sh2.shell脚本开头以#!/bin/bash#!读作shebang3.开启

一天一个shell命令 文本操作系列-comm命令用法 comm命令比较两个已排序文件每行数据的差异,并将其结果显示出来,如果没有指定任何参数,comm命令读取这两个文件,然后生成三列输出:1仅在file1中

标签: shell脚本的fi

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

上一篇:script_tool_for_linux.bash: Linux 环境下的 hosts 一键部署脚本

下一篇:实战模拟监控MySQL服务shell脚本小结(模拟监控app)

  • 初装费包括什么
  • 公积金贷款金额少怎么办
  • 税控盘费用抵扣
  • 增加经营范围需要重新做税种
  • 计提工会经费为什么是增项
  • 韩国购物小票怎么看图解
  • 支付增值税税控系统技术维护费用500元
  • 私营公司会计资取公司资金
  • 2016年营改增后18个税种,第一大税种是()
  • 餐饮刷卡机手续费多少
  • 不动产增值税怎么算
  • 工地上汽车加油怎么加
  • 地税人工费税率计算是怎样的?
  • 年终所得税汇算提示成本费用与实际取得发票有差异
  • 代扣款怎么做账
  • 怎么计算房地产公司可以贷款多少
  • 外单位人员能在单位借款吗
  • 什么情况下企业不能辞退员工
  • 契税和增值税的计税依据
  • 无法删除文件提示怎么办
  • 住房公积金如何使用
  • msdn原版win7
  • 一键ghost软件怎么用
  • 系统安装的步骤
  • 中投公司投资的股票
  • 单位银行结算账户属于活期存款账户
  • Fort Rock Valley Historical Homestead博物馆,俄勒冈 (© Prisma by Dukas Presseagentur GmbH/Alamy)
  • 如何安装wordpress图文教程
  • 福利费可以抵扣进项吗?
  • PHP+MySql+jQuery实现的"顶"和"踩"投票功能
  • php返回数据给ajax
  • php url函数
  • 新企业所得税实施细则
  • mysql的存储
  • 公允价值变动损益影响利润总额吗
  • phpcms数据库文件
  • 缴纳上年汇算清缴的分录
  • 银行开户费属于现金流量表的哪一类
  • 已付预付款当月怎么入账
  • 建筑企业结转收入方法
  • 纸质专票红冲
  • 本年利润总分类账怎么写
  • 已付款发票未到怎么做分录
  • 转出未交增值税借方余额表示什么
  • 谈一谈企业应如何做才能更好地、有效地激励员工
  • 车辆保险赔款怎么算
  • 股东投资方式有哪些
  • 技术服务费如何赋码
  • 资本成本率是指企业用资费用与有效筹资额之间的比率
  • 电子发票报销需要在背后签名吗?
  • 国际航班怎么报销
  • 公司买茶具帐务处理流程
  • mysql 5.7.28安装
  • mysql日期字段
  • win7鼠标右键一闪就没了
  • win8 联网
  • Windows Server 2008:手足之争下的赢家
  • freebsd安装教程
  • win10 edge浏览器在哪里
  • 系统设置用户密码在哪里
  • 会声会影win7怎么兼容
  • windowsxp oobe
  • linux安装的命令是啥
  • win7桌面小工具如何设置使用
  • win102021更新
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • win8.1系统补丁
  • js分页逻辑
  • 打开指定文件夹命令
  • 教学实例分析怎么写
  • jquery实现图片横向移动
  • JavaScript html5 canvas画布中删除一个块区域的方法
  • python数字类型及操作
  • jQuery EasyUI Pagination实现分页的常用方法
  • 开票系统怎么设置默认税率
  • 税务官网怎么登录账号
  • 退休人员还写工作单位吗
  • 2022年中国烟草营收
  • 考公务员国家税务局好吗
  • 010是哪个市区的电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设