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

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

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

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

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

如果你已经熟悉了C语言、java、javascript 等其它编程语言,那么你可能会觉得 Shell 中的 if else 语句有点奇怪。

if 语句

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


if condition
then
  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/bash
read a
read b
if (( $a == $b ))
then
  echo "a和b相等"
fi

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

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

实例2

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


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

运行结果:
20↙
56↙

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

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

if else 语句

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


if condition
then
  statement1
else
  statement2
fi

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

举个例子:


#!/bin/bash
read a
read b
if (( $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 condition1
then
  statement1
elif condition2
then
  statement2
elif condition3
then
  statement3
……
else
  statementn
fi

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

整条语句的执行逻辑为:

  • 如果 condition1 成立,那么就执行 if 后边的 statement1;如果 condition1 不成立,那么继续执行 elif,判断 condition2。
  • 如果 condition2 成立,那么就执行 statement2;如果 condition2 不成立,那么继续执行后边的 elif,判断 condition3。
  • 如果 condition3 成立,那么就执行 statement3;如果 condition3 不成立,那么继续执行后边的 elif。
  • 如果所有的 if 和 elif 判断都不成立,就进入最后的 else,执行 statementn。

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


#!/bin/bash
read age
if (( $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/bash
printf "Input integer number: "
read num
if ((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语句的具体使用方法的文章就介绍到这了,更多相关Shell if else语句内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

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

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

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

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

下载Word文档

猜你喜欢

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

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

Shell if else语句的用法是什么

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

shell脚本编程if语句的使用方法

本篇内容主要讲解“shell脚本编程if语句的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本编程if语句的使用方法”吧!我不是研究linux下的东西的,所以这里只对shel
2023-06-09

Python中的if、else、elif语句用法简明讲解

下面我们学习if语句,输入下面的代码,确保能够正确运行。people = 20 cats = 30 dogs = 15 if people < cats: print "Too many cats! The world is doome
2022-06-04

shell流程控制语句的具体使用

本文主要介绍了shell流程控制语句的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-19

shell 流程控制语句的具体使用

目录前言一、if - else 语句案例需求描述二、case语句三、while 语句四、until语句五、for语句for 语法写法一for 语法写法二for 语法写法三无限for循环六、select 语句八、文件测试 test九、整数和字
2023-05-12

js中if语句的使用方法

这篇文章主要讲解了“js中if语句的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js中if语句的使用方法”吧!if 语句是使用最频繁的语句之一,语法如下:if (condition
2023-06-20

在Linux系统中Shell脚本使用if语句的方法

这篇文章主要讲解了“在Linux系统中Shell脚本使用if语句的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Linux系统中Shell脚本使用if语句的方法”吧!Bourne Sh
2023-06-13

Linux shell脚本编程if语句的使用方法(条件判断)

if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi
2022-06-04

Shell脚本的条件测试和if条件语句使用方法

一、条件测试操作要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值(¥?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。使
2022-06-04

bash脚本中if语句的使用方法

除了 "if,else" 形式之外,还有其它形式的 "if" 语句: if [ condition ]then actionfi只有当 condition 为真时,该语句才执行操作,否则不执行操作,并继续执行 "fi" 之后的任何行。 if
2022-06-04

深入解析Python流程控制语句:if、else、elif、while、for的使用

Python流程控制语句详解:if、else、elif、while、for在编程中,流程控制语句是必不可少的,它们用于根据条件决定程序的执行流程。Python提供了几个常用的流程控制语句,包括if、else、elif、while和for。
深入解析Python流程控制语句:if、else、elif、while、for的使用
2024-01-20

linux shell常用循环与判断语句(for,while,until,if)使用方法

shell的循环主要有3种,for,while,until shell的分支判断主要有2种,if,case 一,for循环#!/bin/bash for file in $(ls /tmp/test/mytest |grep sh)
2022-06-04

编程热搜

目录