Linux之shell中简单的的 if 语法

本文详细介绍了Linux Shell中的if语法,包括仅有if、if-else和if-elif-else三种情况。通过实例解析了如何根据命令的退出状态来执行相应语句,并展示了在多个条件判断中的应用。此外,还强调了在if和elif后面需要跟then的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、if语法的定义

  • bash shell会按顺序执行if语句,如果command执行后且它的退回状态是0,则会执行符合该条件执行的语句否则后面的命令不执行,跳到下一条命令

  • 当有多个嵌套时,只有第一个返回0退出状态的命令会导致符合该条件执行的语句部分被执行,如果所有的语句的执行状态都不为0,则执行else中语句。

  • 返回状态:最后一个命令的退出状态,或者当没有条件是真的话为0。

1、仅有if

在这里插入图片描述
在这里插入图片描述
例1: date命令测试if

  • 因为if语句后面跟的是命令 ,所以会执行命令 并且判断命令的退出状态,如果命令的退出状态是0,就执行then语句。
   1 | #!/bin/bash
   2 | if date					#如果能够正常执行date命令
   3 | then
   4 |         echo "it works"	#就输出it works
   5 | fi						#date命令的执行结果也会被输出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例2:

   1 | #!/bin/bash
   2 | if dateeeee				#如果能够正常执行dateeeee命令
   3 | then
   4 |   	echo "it works"		#就输出it works
   5 | fi						#如果不能执行dateeeee,就跳出if语句,执行下面的内容
   6 | echo "we are outside of if"

在这里插入图片描述
例3: 若/etc/passwd文件里与student用户相关的语句存在(退出状态为0),就找到指定的文件

   1 | #!/bin/bash
   2 | testing=student
   3 | if grep $testing /etc/passwd
   4 | then
   5 |  	echo "The bash files for user $testing are:"
   6 |   	ls -a /home/$testing/.b*
   7 | fi

在这里插入图片描述
例4: 判断输入的a和b是否相等
在这里插入图片描述
在这里插入图片描述
例5: 判断num1是否大于18并且num2<60
在这里插入图片描述
在这里插入图片描述

2.if -else语句

在这里插入图片描述
在这里插入图片描述
例1: 判定输入的值a,b是否相等
在这里插入图片描述
在这里插入图片描述
例2:

   1 | #!/bin/bash
   2 | read num1
   3 | read num2

   4 | if ((num1>=18 && num2<=60))	#同时满足多个条件时用&&相连
   5 | then
   6 |  	echo $num1
   7 |   	echo $num2
   8 | else
   9 |  	echo "Sorry."
   10| fi

在这里插入图片描述

3.if-elif-else语句

  • shell支持任意数目的分支,当分支比较多时,可以使用if elif else 结构
    格式:
    在这里插入图片描述
    在这里插入图片描述
  • 注意:if和eilf后面后要跟then

例1: 输入年龄判断所处阶段
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值