Shell流程控制语句if
(1).if语句
语法格式:
if 判断条件 ; then
命令
fi 或
if 判断条件
then
命令
fi
if语句流程图:

实例:判断命令是否执行成功,成功则输出语句This is ok.
[root@youxi1 ~]# vim a.sh
#!/bin/bash
ls /mnt > /dev/null
if [ $? -eq 0 ] ; then
echo "This is ok."
fi
[root@youxi1 ~]# sh a.sh
This is ok.
(2).双分支if语句
语法格式:
if 判断条件 ; then
命令1
else
命令2
fi
双分支if语句流程图:

实例:判断命令是否执行成功,成功则输出This is ok.,否则输出This is not ok.
[root@youxi1 ~]# vim a.sh
#!/bin/bash
ls /mnt &> /dev/null
if [ $? -eq 0 ] ; then
echo "This is ok."
else
echo "This is not ok."
fi ls /mnt/a.txt &> /dev/null
if [ $? -eq 0 ] ; then
echo "This is ok."
else
echo "This is not ok."
fi
[root@youxi1 ~]# sh a.sh
This is ok.
This is not ok.
(3).多分支if语句
语法格式:
if 判断条件1 ; then
命令1
elif 判断条件2 ; then
命令2
elif 判断条件3 ; then
命令3
......
else
命令n
fi
多分支if语句流程图:

实例:判断键盘输入的数字,如果等于零则输出0,如果大于0则输出“这是一个正数”,如果小于0则输出“这是一个负数”。
[root@youxi1 ~]# vim a.sh
#!/bin/bash
read -p "请输入一个数字:" num
if [ $num -eq 0 ] ; then
echo $num
elif [ $num -gt 0 ] ; then
echo "这是一个正数"
else
echo "这是一个负数"
fi
[root@youxi1 ~]# sh a.sh
请输入一个数字:12
这是一个正数
[root@youxi1 ~]# sh a.sh
请输入一个数字:0
0
[root@youxi1 ~]# sh a.sh
请输入一个数字:-12
这是一个负数
Shell流程控制语句if的更多相关文章
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- shell流程控制语句
linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while,until),选择语句(case/select).下面我将通过例子介绍下,各个语句使用方法. 1 ...
- 5.Shell 流程控制语句
1.流程控制语句 通过if.for.while.case这4种流程控制语句来学习编写难度更大.功能更强的Shell脚本 4.3.1 if条件测试语句: if条件测试语句可以让脚本根据实际情况自动执行相 ...
- Linux | Shell流程控制语句
流程控制语句 简单的Shell 脚本还不能满足我们日常工作的需要要,因为他不能批量的帮我们完成工作,所以Shell引入了 if.for.while.case 4种流程控制语句来帮助我们完成工作. if ...
- shell 流程控制语句
case语句 case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; ...
- Shell流程控制语句for
for语法格式: for 变量 in 参数列表 do 命令 done 或者 for 变量 in 参数列表 ; do 命令 done for语句流程控制图: 实例: [root@youxi1 ~]# v ...
- Shell流程控制语句while
while语法格式: while 判断条件 do 命令 done while语句流程控制图: 实例: [root@youxi1 ~]# vim a.sh #!/bin/bash i=0 while [ ...
- Shell流程控制语句case
case语法格式: case 变量或表达式 in 变量或表达式1) 命令1 ;; 变量或表达式2) 命令2 ;; ...... *) 默认命令 esac case语句流程控制图: 实例: [root ...
- linux shell awk 流程控制语句(if,for,while,do)详细介绍
在linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环 ...
随机推荐
- 如何使用anaconda安装pygame
超级方便!!! 打开Anaconda, 输入: pip install pygame 等待下载安装完成. 如图: 显示成功安装:
- K8s基本概念入门
序言 没等到风来,绵绵小雨,所以写个随笔,聊聊k8s的基本概念. k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非 ...
- 使用 xpath helper 提取网页链接
需求是这样的,公司某个部门不会爬虫,不懂任何技术性的东西,但是希望去提取网页的一个分享链接,老大要求去开发谷歌浏览器插件,但一时半会也搞不定这个啊, 想到用 xpath helper 作为一个临时的替 ...
- 微服务:springboot与swagger2的集成
现在测试都提倡自动化测试,那我们作为后台的开发人员,也得进步下啊,以前用postman来测试后台接口,那个麻烦啊,一个字母输错就导致测试失败,现在swagger的出现可谓是拯救了这些开发人员,便捷之处 ...
- 开发Electron可能用到的工具
nodejs:搭载谷歌v8内核的高性能的node环境npm:包管理工具webpack:模块打包器jQuery:js必备库Bootstrap:css必备库react:用于构建用户界面的库vue:构建数据 ...
- 从输入URL到页面返回的过程详解
文章转自以为大神的博客;https://www.cnblogs.com/xianyulaodi/p/6547807.html#_labelTop 总结的很不错,看完收获颇多, 下面就是大神的文章,我只 ...
- modbus-poll和modbus-slave工具的学习使用——modbus协议功能码1的解析
一.数据解析 上一文介绍了modbus工具的基本使用情况,但是还没用说明modbus中的协议的具体意义, 1.左边是slave,id=1,说明地址是1,f=01说明是功能码01,功能码是一个字节,说明 ...
- 转储Active Directory数据库
获取Windows域控所有用户hash: 参考:3gstudent 方法1: 复制ntds.dit: 使用NinjaCopy,https://github.com/3gstudent/NinjaCop ...
- C# DataTable转换为Html
/// <summary> /// DataTable 转换为 Html /// </summary> /// <param name="dt"> ...
- 【loj3123】【CTS2019】重复
题目 给出一个长度为\(n\)的串\(s\),询问有多少个长度为\(m\)的串\(t\) 满足 \(t\) 的无限循环串存在一个长度为\(n\)且比\(s\)字典序严格小的子串 $ n , m \le ...