针对shell的控制结构,也就是shell编程时所需要的三种控制流程,顺序/分支和循环。

在bash中,顺序可由简单的输入输出命令组成;分支语句由if、case实现;循环语句用for、while和until来实现。

一、if语句

1、基本的if语句

语句格式:

if condition

then

satements

else

statements

fi

输出结果:

2、elif语句

elif语句格式:

if condition1

then

statements

elif condition2

then

statements

elif condition3

then

statements

……

else

statements

fi

输出结果:

3、if语句其他形式

①if语句嵌套形式:

if condition ; then

if condition ; then

if condition ; then

statements

fi

fi

fi

②elif格式修改后:

if condition1 ; then

statements

elif condition2 ; then         statements

elif condition3 ; then         statements

……

else

statements

fi

输出结果:

二、case语句

case是一个多分支结构,根据变量与各模式的匹配确定执行相应的语句序列。

case语句格式:

case variable in

pattern1) statements;;

pattern2) statements;;

pattern3) statements;;

……

patternn) statements;;

×) statements;;

esac

(1)简单的case脚本编写:

输出结果:

(2)case的合并匹配模式,即在每一个模式中,还可以使用通配符和逻辑符号

输出结果:

(3)在case中,每个分支还可以执行多条命令:

输出结果:

三、for语句

for语句的语法格式:

for variable in values

do

statements

done

(1)简单的for脚本

输出结果:

(2)在for循环中使用通配符

输出结果:

四、while语句

while语句格式:

while condition

do

statements

done

简单的while判断

输出结果:

五、until语句

until语法格式:

until condition

do

statements

done

输出结果:

六、break语句

break命令

break命令的功能是在控制条件为满足之前,跳出for、while或until循环。可以用break命令提供一个额外的数值参数来表明所要提跳出的循环层数,但一般情况下并不建议这么做,因为它将大大降低程序的可读性。

编写一个break脚本跳出if循环:

输出结果:

linux shell结构,linux——Shell的控制结构(附shell编写代码和运行结果)相关推荐

  1. linux体系结构+linux内核结构+linux内核目录结构

    一.linux体系结构 (1)用户空间:用户空间中又包含了,用户的应用程序,C库 (2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码 Linux内核可以划分为3层,最上面是系统调用 ...

  2. Linux目录结构 Linux分区、挂载点

    / 略 /vmlinuz 我们已经知道,每一个linux都有一个内核(vmlinuz),我们在这个内核上添加可以完成各种特定功能的模块,每个模块就体现在 linux中各种不同的目录上.当然,各种不同的 ...

  3. linux socket结构,Linux C socket编程中几个常见的结构体定义

    ● sockaddr #include struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; ● in_addr_t #inclu ...

  4. 电子病历结构化之实体识别(附完整项目代码)

    对于医学领域的自然语言文献,例如医学教材.医学百科.临床病例.医学期刊.入院记录.检验报告等,这些文本中蕴含大量医学专业知识和医学术语.将实体识别技术与医学专业领域结合,利用机器读取医学文本,可以显著 ...

  5. linux mysql udf打包_Linux下MySQL 5.1编写UDF 并运行(Install)获取当前时间的毫秒数...

    Mysql 无法获取当前时间的毫秒数自行定制UDF,以提供current_ms方法1. 编写 C 文件#ifdef STANDARD#include lt;stdio.hgt;#inc Mysql 无 ...

  6. linux防火墙shell脚本,Linux系统目录结构,Shell脚本;关闭和开启防火墙

    Linux系统目录结构 目录 描述 备注 /bin a.存放着最经常使用的命令 b.可执行文件,用户命令 c.构建最小系统所需要的命令 /boot a.内核与启动文件 b.系统启动相关文件 c.启动L ...

  7. Linux目录结构和常用命令

    Linux目录结构和常用命令 一.Linux目录结构 Linux文件夹很多都是固定的,分门别类,要想快速弄清楚系统的架构,那么哪些目录里面装着哪些文件是干什么用的. 首先,回顾一下Linux系统下文件 ...

  8. linux pki目录,Linux目录结构和常用命令

    Linux目录结构和常用命令 一.Linux目录结构 Linux文件夹很多都是固定的,分门别类,要想快速弄清楚系统的架构,那么哪些目录里面装着哪些文件是干什么用的. 首先,回顾一下Linux系统下文件 ...

  9. 大数据技术之_01_Linux学习_01_linux的入门+VM和linux的安装+linux的目录结构+远程登录到linux服务器+vi和vim编辑器+开机、重启和用户登录注销+用户管理+用户组管理

    大数据学习之_01_Linux学习_01 1 linux的入门 1.1 Linux的介绍 2 VM和linux的安装 2.1 安装vm和Centos 2.1.1 基本说明 2.1.2 CentOS安装 ...

最新文章

  1. iOS-常用的自定义控件
  2. C#开发Unity游戏教程之使用脚本变量
  3. 内网渗透测试:隐藏通讯隧道技术(下)
  4. mysql數據庫的增刪改查_MySQL數據庫之基礎增刪改查操作
  5. erp二次开发有出路吗_ERP的真正技术瓶颈:详细生产排程!
  6. shiro缓存管理时报错java.lang.ClassCastException: com.xxx.User cannot be cast to com.xxx.User
  7. VTK:Qt之BarChartQt
  8. JavaScript-创建日志调试对象(面向对象实例)
  9. (五)DTD验证XML文档
  10. matlab 从 excel读取 日期_MATLAB批量修改文件名和选择性复制/剪切文件
  11. linux+系统优化基础,linux系统优化基础
  12. Python计算序列中数字最大差值(美团2016校招笔试题)
  13. 整理 .NET 平台下一些强大的开源控件和类库
  14. 计算机学院运动会开幕式稿,运动会开幕式新闻稿 运动会开幕式广播稿原创2019...
  15. @程序员,区块链开发平台避坑指南!
  16. 阿甘博客文章写法与教学方法
  17. 不要相信程序员在加班时间写的代码
  18. 最简单的BERT模型调用方法
  19. SQL Server2016的彻底删除
  20. 教你如何把qlv转换成mp4格式

热门文章

  1. 黑马商城项目级联选择占满全屏解决方案
  2. Flowable 菜单说明
  3. Java高级特性——反射
  4. 学习笔记之数据可视化(一)——项目适配方案
  5. textarea支持a标签_微慕小程序开源版A标签优化说明
  6. cygwin 远程连接linux,Cygwin解决Windows远程登录linux服务器
  7. php裁剪图片并上传源码,改写jcrop插件+php的图片上传实现与裁剪一体化
  8. C++中继承与虚函数示例
  9. android判断usb已连接,android 判断是否有网络连接(usb连接电脑问题)
  10. java mvel_MVEL实现java直接根据公式计算结果