(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的更多相关文章

  1. Linux Shell 流程控制语句

    * 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...

  2. shell流程控制语句

    linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while,until),选择语句(case/select).下面我将通过例子介绍下,各个语句使用方法. 1 ...

  3. 5.Shell 流程控制语句

    1.流程控制语句 通过if.for.while.case这4种流程控制语句来学习编写难度更大.功能更强的Shell脚本 4.3.1 if条件测试语句: if条件测试语句可以让脚本根据实际情况自动执行相 ...

  4. Linux | Shell流程控制语句

    流程控制语句 简单的Shell 脚本还不能满足我们日常工作的需要要,因为他不能批量的帮我们完成工作,所以Shell引入了 if.for.while.case 4种流程控制语句来帮助我们完成工作. if ...

  5. shell 流程控制语句

    case语句 case $变量名 in "值1")   如果变量的值等于值1,则执行程序1 ;;  "值2")   如果变量的值等于值2,则执行程序2 ;;   ...

  6. Shell流程控制语句for

    for语法格式: for 变量 in 参数列表 do 命令 done 或者 for 变量 in 参数列表 ; do 命令 done for语句流程控制图: 实例: [root@youxi1 ~]# v ...

  7. Shell流程控制语句while

    while语法格式: while 判断条件 do 命令 done while语句流程控制图: 实例: [root@youxi1 ~]# vim a.sh #!/bin/bash i=0 while [ ...

  8. Shell流程控制语句case

    case语法格式: case 变量或表达式 in 变量或表达式1) 命令1 ;; 变量或表达式2) 命令2 ;; ...... *) 默认命令 esac case语句流程控制图:  实例: [root ...

  9. linux shell awk 流程控制语句(if,for,while,do)详细介绍

    在linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环 ...

随机推荐

  1. Linux必知必会--curl

    你有多自律,你就能走多远~ --久节奏.慢读书 Curl命令 学习每个linux命令都该掌握man命令.(可以使用man命令去查看每个命令的使用说明) curl命令是一个利用URL规则在命令行下工作的 ...

  2. CVE-2019-5475:Nexus2 yum插件RCE漏洞复现

    0x00 前言 如果有想一起做漏洞复现的小伙伴,欢迎加入我们,公众号内点击联系作者即可 提示:由于某些原因,公众号内部分工具即将移除,如果有需要的请尽快保存 0x01 漏洞概述 最近hackerone ...

  3. 代码优化 - 求数组中的第 K 个最大元素

    题目要求: 解法一: 直接用 sort 从大到小排序,取第 k 个 var findKthLargest = function (nums, k) { nums.sort((a, b) => { ...

  4. python为什么要使用闭包

    为什么要使用闭包 闭包避免了使用全局变量,此外,闭包允许将函数与其所操作的某些数据(环境)关连起来.这一点与面向对象编程是非常类似的,在面对象编程中,对象允许我们将某些数据(对象的属性)与一个或者多个 ...

  5. 微信小程序~项目步骤和流程

    从运营的角度讲制作,不是从程序的角度讲开发,所以简单明晰,通俗易懂,小白也能按照流程完成制作. 微信小程序制作步骤及流程 1.确定好微信小程序的的定位和目的 如行业,功能,内容,目标用户,目标市场,意 ...

  6. SparkSQL读写外部数据源-jext文件和table数据源的读写

    object ParquetFileTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() ...

  7. robot framework中如何为每个测试用例,测试集准备数据或销毁数据

    Suite Setup:在这个测试集的所有测试用例开始测试之前运行(类似于junit的@BeforeClass) Suite Teardown:在这个测试集的所有测试用例结束之后运行(类似于junit ...

  8. LeetCode 855. Exam Room

    原题链接在这里:https://leetcode.com/problems/exam-room/ 题目: In an exam room, there are N seats in a single ...

  9. S1_搭建分布式OpenStack集群_08 网络服务(neutron)安装部署

    一.数据库配置(控制节点)创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE neutron;MariaDB ...

  10. 验证符号文件的又一方法(!itoldyouso)

    如果您正在开发软件,很可能遇到了“不匹配的PDB”调试器错误.当您将调试器指向错误的符号路径时,通常会发生这种情况. 但有时你确信你所指向的符号是正确的符号,这让你想知道为什么调试器认为这些符号不匹配 ...