当前位置: 首页 > news >正文

shell脚本编写之流程控制

1、条件语句

shell语句的流程控制与C语言不一样,流程控制中不能为空。

shell中if语法如下,其中confition表示条件判断式,command为程序段落。

if else语法:

if elseif语法:

2、循环语句

1)for循环

shell中的for循环语句语法如下:

for 变量名 in 取值范围

以上示例,$var的变量内容在循环工作时:

第1次循环时,$var的内容为ele0

第2次循环时,$var的内容为ele1

... ...

第N次循环时,$var的内容为eleN

举例在myshell.sh中加入如下内容:

执行结果如下:

对于上面变量值为数字的情况,其取值范围还可以有以下几种表示方式:

或:

或:

2)while循环

shell中的while循环语句语法如下,condition为判断式,command为程序段落。

举例:

执行结果如下:

当判断式为空,写成:

或:

此时,则为无限循环。

3、case条件语句

shell中的case条件语句,与C中的switch语句语法使用类似如下:

举例,shell中的break和continue与C语言中的使用方式一样,break可以退出循环,continue结束本次循环,但是不会退出。

执行结果如下:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 《NLP自然语言处理》—— 关键字提取之TF-IDF算法
  • 单片机开发过程中经常会遇到什么问题?
  • 幼儿园数字化探索:从入园适应到全面启智
  • 电镀车间氢气浓度在线监测:智能预警,守护生产安全线
  • 【数据集】RadioML2016.10a(RML2016.10a)
  • 实战项目:俄罗斯方块(七)
  • 传统CV算法——边缘算子与图像金字塔算法介绍
  • 浙大数据结构:01-复杂度1 最大子列和问题
  • 【数据结构入门】排序算法之插入排序与选择排序
  • 如何选择合适的PLC工业网关?天拓四方
  • DrissionPage设置启动浏览器为edge
  • Spring Boot中的自定义事件详解与实战
  • SSL解说与应用
  • Java实现根据某个字段对集合进行去重并手动选择被保留的对象
  • Vue前端路由详解——以Ruoyi框架为案例学习
  • 【Linux系统编程】快速查找errno错误码信息
  • Django 博客开发教程 8 - 博客文章详情页
  • Iterator 和 for...of 循环
  • JavaScript中的对象个人分享
  • Linux下的乱码问题
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • PHP 的 SAPI 是个什么东西
  • React-Native - 收藏集 - 掘金
  • SpringBoot几种定时任务的实现方式
  • vue 配置sass、scss全局变量
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 简单数学运算程序(不定期更新)
  • 如何设计一个微型分布式架构?
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 限制Java线程池运行线程以及等待线程数量的策略
  • No resource identifier found for attribute,RxJava之zip操作符
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​VRRP 虚拟路由冗余协议(华为)
  • #Spring-boot高级
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (02)vite环境变量配置
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (苍穹外卖)day03菜品管理
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (论文阅读30/100)Convolutional Pose Machines
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (图)IntelliTrace Tools 跟踪云端程序
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ***检测工具之RKHunter AIDE
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .Net 高效开发之不可错过的实用工具
  • .net 无限分类
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .Net小白的大学四年,内含面经
  • .NET中两种OCR方式对比
  • @AliasFor 使用
  • @JsonFormat与@DateTimeFormat注解的使用