结构化命令允许你改变程序执行的顺序。在bash shell中有不少结构化命令,我们会逐个研究,先来看一下if-then。

bash shell的if语句会运行if后面的那个命令。如果该命令的退出状态码(参见第11章)是0 (该命令成功运行),位于then部分的命令就会被执行。如果该命令的退出状态码是其他值,then部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令。fi语句用来表示if-then 语句到此结束。

这个脚本在if行采用了pwd命令。如果命令成功结束,echo语句就会显示该文本字符串.

假如我们写成了这样,会怎么样呢

在这个例子中,我们在if语句行故意放了一个不能工作的命令。由于这是个错误的命令,所以它会产生一个非零的退出状态码。

在then部分,你可以使用不止一条命令。可以像在脚本中的其他地方一样在这里列出多条命令。

输出:

if-then-else语句在语句中提供了另外一组命令

输出:

可以使用嵌套的if-then语句

输出:

嵌套elif中加入一个else语句来实现,紧跟其后的else语句属于elif代码块。它们并不属于之前的 if-then代码块。

输出:

有什么讨论的内容,可以加我公众号:

linux 脚本 if then,shell学习之if-then语法相关推荐

  1. linux 脚本的作用,shell export 作用

    shell与export命令用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令或声明变量,也可以创建并运行 shell脚本程序.运行shell脚本程序 ...

  2. linux脚本编写规则,shell脚本编写守则

    现在centos7中使用的是bash软件,通过以下命令可以查看bash版本: [root@localhost ~]# cat /etc/redhat-release #查看系统的版本 CentOS L ...

  3. 怎么编写Linux脚本循环语句,shell脚本及常用循环语句

    博文结构 什么是shell 简单编辑shell 循环语句 一.什么是shell及作用 Shell字面理解就是个"壳",是操作系统(内核)与用户之间的桥梁,充当命令解释器的作用,将用 ...

  4. linux 脚本 整数 赋值,shell基础!!熟悉编程规范与变量

    一.SHELL规范 SHELL简单介绍 Bash(/bin/bash)是目前大多数 Linux 版本采用的默认 Shell.Bash 的全称为 Bourne Again Shell,是最受欢迎的开源软 ...

  5. linux脚本基本命令大全,Shell脚本常用命令

    Shell脚本常用命令 1           Shell中的特殊符号 1.1           $  美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到" ...

  6. linux脚本文件编辑器,Shell文件编辑器

    文件编辑器,允许在文件中插入.编辑和替换文本等操作. 本文主要针对vim编辑器和nano编辑器的使用做简单记录,目前macOS是支持这两种编辑器的. vim编辑器 vi编辑器是Unix系统最初的编辑器 ...

  7. linux 脚本 获取pid,Shell脚本中获取进程ID的方法

    提问: 我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将she ...

  8. linux 脚本 查找替换,Shell脚本学习指南之查找与替换介绍

    3.1 查找文本 grep:使用POSIX定义的基本正则表达式(BRE). egrep:使用扩展正则表达式(ERE). fgrep:快速grep.使用优化的算法,匹配固定字符串而非正则表达式. 199 ...

  9. 【CyberSecurityLearning 34】Linux脚本编写(Shell脚本)

    目录 脚本 一个简单的脚本 实现流程: 变量赋值 IF判断语句 if单分支结构 if 双分支结构 if 多分支结构 实用案例:检测内网主机存活状态 Shell循环语句(for.while) for循环 ...

最新文章

  1. java clob 释放_在Java中处理CLOB字段
  2. linux 误删除mysql表能恢复吗_Linux下Oracle误删除数据文件恢复操作
  3. linux 网络命令
  4. 纹理和基元_自定义基元和DTO的(反)序列化和验证
  5. shell脚本 -d 是目录文件,那么-e,-f分别是什么?还有! -e这又是什么意思呢?
  6. git常用命令--tag
  7. JavaScript算法 之 选择排序
  8. KVM之五:KVM日常管理常用命令
  9. 使用Jacob自动替换书签内容
  10. 小技巧!Win10系统怎样恢复使用Win7中的照片查看器?非常简单!
  11. N-BaIoT-Network-based-Detection-of-IoT-Botnet-Attacks
  12. GO+Selenium批量关注各大网站实战 1 (基础+demo)
  13. java生成随机10位数字_用Java生成10个随机的四位数字
  14. 数据库发展竟然和阿波罗登月有关?还有什么是我们不知道的?
  15. web端第三方微信登录
  16. mrtg流量图不更新了是怎么回事,谁有mrtg的安装及配置文档啊,求!!!
  17. Docker学习之二------基础命令(镜像、容器)
  18. 十年带队经验,万字长文分享:如何管理好一个程序员团队?
  19. 【JavaScript】小数点精度问题,小数点后两位toFixed(),把四舍六入五凑偶,修改成四舍五入
  20. SVN拉取和Excel冲突合并

热门文章

  1. 表单标签 input
  2. 原生微信小程序添加背景音乐
  3. Python之魔法方法详解
  4. 复杂度分析当中的Θ、Ο、Ω
  5. 如何在定制化组件中实现并使用v-model
  6. 黑莓:一家把未来押宝无人驾驶的老牌手机厂商
  7. 《中国人工智能学会通讯》——11.10 点云局部特征描述子基准评估体系
  8. deploy dubbox 到私有的 nexus 服务
  9. Django 模板中变量、过滤器、标签的使用方法
  10. mysql 常用操作(整理)