我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在Shell中使用if else语句

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在Shell中使用if else语句

如何在Shell中使用if else语句?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

if 语句

最简单的用法就是只使用 if 语句,它的语法格式为:

if conditionthen  statement(s)fi

condition是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。

从本质上讲,if 检测的是命令的退出状态,我们将在下节《Shell退出状态》中深入讲解。

注意,最后必须以fi来闭合,fi 就是 if 倒过来拼写。也正是有了 fi 来结尾,所以即使有多条语句也不需要用{ }包围起来。

如果你喜欢,也可以将 then 和 if 写在一行:

if condition; then  statement(s)fi

请注意 condition 后边的分号;,当 if 和 then 位于同一行的时候,这个分号是必须的,否则会有语法错误。

实例1

下面的例子使用 if 语句来比较两个数字的大小:

#!/bin/bashread aread bif (( $a == $b ))then  echo "a和b相等"fi

运行结果:
84↙
84↙
a和b相等

在《Shell (()) 》一节中我们讲到,(())是一种数学计算命令,它除了可以进行最基本的加减乘除运算,还可以进行大于、小于、等于等关系运算,以及与、或、非逻辑运算。当 a 和 b 相等时,(( $a == $b ))判断条件成立,进入 if,执行 then 后边的 echo 语句。

实例2

在判断条件中也可以使用逻辑运算符,例如:

#!/bin/bashread ageread iqif (( $age > 18 && $iq < 60 ))then  echo "你都成年了,智商怎么还不及格!"  echo "来C语言中文网(http://c.biancheng.net/)学习编程吧,能迅速提高你的智商。"fi

运行结果:
20↙
56↙

&&就是逻辑“与”运算符,只有当&&两侧的判断条件都为“真”时,整个判断条件才为“真”。

熟悉其他编程语言的读者请注意,即使 then 后边有多条语句,也不需要用{ }包围起来,因为有 fi 收尾呢。

if else 语句

如果有两个分支,就可以使用 if else 语句,它的格式为:

if conditionthen  statement1else  statement2fi

如果 condition 成立,那么 then 后边的 statement1 语句将会被执行;否则,执行 else 后边的 statement2 语句。

举个例子:

#!/bin/bashread aread bif (( $a == $b ))then  echo "a和b相等"else  echo "a和b不相等,输入错误"fi

运行结果:
10↙
20↙
a 和 b 不相等,输入错误

从运行结果可以看出,a 和 b 不相等,判断条件不成立,所以执行了 else 后边的语句。

if elif else 语句

Shell 支持任意数目的分支,当分支比较多时,可以使用 if elif else 结构,它的格式为:

if condition1then  statement1elif condition2then  statement2elif condition3then  statement3……else  statementnfi

注意,if 和 elif 后边都得跟着 then。

整条语句的执行逻辑为:

  • 如果 condition1 成立,那么就执行 if 后边的 statement1;如果 condition1 不成立,那么继续执行 elif,判断 condition2。

  • 如果 condition2 成立,那么就执行 statement2;如果 condition2 不成立,那么继续执行后边的 elif,判断 condition3。

  • 如果 condition3 成立,那么就执行 statement3;如果 condition3 不成立,那么继续执行后边的 elif。

  • 如果所有的 if 和 elif 判断都不成立,就进入最后的 else,执行 statementn。

举个例子,输入年龄,输出对应的人生阶段:

#!/bin/bashread ageif (( $age <= 2 )); then  echo "婴儿"elif (( $age >= 3 && $age <= 8 )); then  echo "幼儿"elif (( $age >= 9 && $age <= 17 )); then  echo "少年"elif (( $age >= 18 && $age <=25 )); then  echo "成年"elif (( $age >= 26 && $age <= 40 )); then  echo "青年"elif (( $age >= 41 && $age <= 60 )); then  echo "中年"else  echo "老年"fi

运行结果1:
19
成年

运行结果2:
100
老年

再举一个例子,输入一个整数,输出该整数对应的星期几的英文表示:

#!/bin/bashprintf "Input integer number: "read numif ((num==1)); then  echo "Monday"elif ((num==2)); then  echo "Tuesday"elif ((num==3)); then  echo "Wednesday"elif ((num==4)); then  echo "Thursday"elif ((num==5)); then  echo "Friday"elif ((num==6)); then  echo "Saturday"elif ((num==7)); then  echo "Sunday"else  echo "error"fi

运行结果1:
Input integer number: 4
Thursday

运行结果2:
Input integer number: 9
error

看完上述内容,你们掌握如何在Shell中使用if else语句的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在Shell中使用if else语句

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在Shell中使用if else语句

如何在Shell中使用if else语句?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。if 语句最简单的用法就是只使用 if 语句,它的语法格式为:if conditionth
2023-06-06

如何使用Shell脚本if else语句

这篇文章主要介绍“如何使用Shell脚本if else语句”,在日常操作中,相信很多人在如何使用Shell脚本if else语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Shell脚本if els
2023-06-09

MySQL IF ELSE 语句如何在存储过程中使用?

MySQL IF ELSE 语句在表达式计算结果为 false 时实现基本条件构造。其语法如下 -IF expression THENstatements;ELSEelse-statements;END IF;语句必须以分号结尾。为了演
2023-10-22

MySQL IF ELSE 语句如何在存储过程中使用

在MySQL中,可以使用IF ELSE语句在存储过程中进行条件判断和逻辑分支控制。以下是一个示例:```mysqlDELIMITER $$CREATE PROCEDURE exampleProcedure()BEGINDECLARE sta
2023-10-10

Shell if else语句的用法是什么

本篇内容介绍了“Shell if else语句的用法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!和其它编程语言类似,Shell 也支
2023-06-09

Java中如何替换if-else语句

今天就跟大家聊聊有关Java中如何替换if-else语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。场景日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-el
2023-06-20

详解Shell if else语句的具体使用方法

和其它编程语言类似,Shell 也支持选择结构,并且有两种形式,分别是 if else 语句和 case in 语句。本节我们先介绍 if else 语句,case in 语句将会在《Shell c
2022-06-04

C++中的If Else语句怎么使用

这篇文章主要介绍“C++中的If Else语句怎么使用”,在日常操作中,相信很多人在C++中的If Else语句怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中的If Else语句怎么使用”的疑
2023-06-15

sql中if else语句的用法

if-else 语句用于在 sql 中根据条件执行不同的操作。其基本语法为:如果条件为真,执行语句 1。如果条件为假,执行语句 2。条件为一个布尔表达式,语句可以是任何有效的 sql 语句。SQL 中 IF-ELSE 语句的用法IF-EL
sql中if else语句的用法
2024-04-28

Scala的IF ELSE语句怎么使用

这篇文章主要讲解了“Scala的IF ELSE语句怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Scala的IF ELSE语句怎么使用”吧!Scala IF...ELSE 语句是通过
2023-06-19

怎么在Shell中使用if判断语句

怎么在Shell中使用if判断语句?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一. if的基本语法1.if与[之间要有空格2.[]与判断条件之间也必须有空格3.]与;之间不能
2023-06-09

VBS中If...Then...Else语句的用法

这篇文章主要介绍“VBS中If...Then...Else语句的用法”,在日常操作中,相信很多人在VBS中If...Then...Else语句的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VBS中If.
2023-06-08

C语言的if else语句怎么使用

本篇内容介绍了“C语言的if else语句怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、前言(1)C语言是结构化的程序设计语言。
2023-07-02

python中if-elif-else语句有什么用

小编给大家分享一下python中if-elif-else语句有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明1、Python提供的if-elif-els
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录