【Linux】shell脚本实战-if多分支条件语句详解(1)

我考虑下

fi

多分支语句的图示:

在这里插入图片描述

多分支语句举例:
1. 出嫁的条件

[root@ecs-c13b ~]# cat ifdtest1

#!/bin/bash

read -p "请输入你有多少钱: " money

read -p "请输入你有几套房子: " houses

if [ $money -ge 1000000 ] ### ge 表示大于

then

echo “我就嫁给你”

elif [ $houses -ge 3 ]

then

echo “我也嫁给你”

else

echo “我考虑下”

fi

返回结果:

[root@ecs-c13b ~]# bash ifdtest1

请输入你有多少钱: 100000

请输入你有几套房子: 5

我也嫁给你

2. 管理http服务实战脚本

[root@ecs-c13b html]# cat httpdcheck.sh

#!/bin/bash

ss -lntp |grep httpd &> /dev/null

if [ $? -eq 0 ];then

echo “httpd is running”

elif [ -f /usr/local/apache/bin/apachectl -a -x /usr/local/apache/bin/apachectl ]

查看文件是否存在且是否有可执行权限

then

/usr/local/apache/bin/apachectl start

如果有可执行权限,且存在,就执行脚本启动

else

echo “没有httpd的启动脚本”

fi

返回结果:

[root@ecs-c13b html]# bash httpdcheck.sh

AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, usingrName’ directive globally to suppress this message

[root@ecs-c13b html]# lsof -i:80

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

httpd 31393 root 4u IPv6 363012 0t0 TCP *:http (LISTEN)

httpd 31394 daemon 4u IPv6 363012 0t0 TCP *:http (LISTEN)

httpd 31395 daemon 4u IPv6 363012 0t0 TCP *:http (LISTEN)

httpd 31399 daemon 4u IPv6 363012 0t0 TCP *:http (LISTEN)

[root@ecs-c13b html]# bash httpdcheck.sh

httpd is running

3. 猜数字游戏v1版本-if版本

#!/bin/bash

NO=20

read -p "input your num: " num

if [ $NO -gt $num ]; then ### 判断输入的数字和原始数字的大小,gt表示大于

echo “你猜测的太小了”

elif [ $NO -lt $num ]; then ####判断输入的数字和原始数字的大小,lt表示小于

echo “你猜测的太大了”

else

echo “恭喜你猜对了”

fi

返回结果:

[root@ecs-c13b html]# vim guess.sh

[root@ecs-c13b html]# bash guess.sh

input your num: 33

你猜测的太大了

[root@ecs-c13b html]# bash guess.sh

input your num: 1

你猜测的太小了

[root@ecs-c13b html]# bash guess.sh

input your num: 20

恭喜你猜对了

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!

小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
Vi-1713531176071)]

小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》

[外链图片转存中…(img-Ss8m0HLC-1713531176072)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Shell脚本的if循环是一种条件语句,用于在满足特定条件时执行一系列命令。 语法格式如下: ```bash if [condition]; then commands fi ``` 其中,condition是一个检测条件,如果条件为真,则执行commands中的命令。 另外,还可以在if语句中加入else语句,当条件为假时执行else中的命令。语法格式如下: ```bash if [condition]; then commands1 else commands2 fi ``` 还可以在if语句中加入elif语句,当第一个if条件不成立时,判断elif条件是否成立,如果成立,执行elif中的命令。语法格式如下: ```bash if [condition1]; then commands1 elif [condition2]; then commands2 else commands3 fi ``` 在条件语句中,可以使用各种测试命令,如数字、字符串比较、文件属性测试等。 例如: ```bash if [ $a -eq $b ]; then echo "a is equal to b" elif [ $a -lt $b ]; then echo "a is less than b" else echo "a is greater than b" fi ``` 注意:在条件语句中,要使用两个中括号来表示,并且条件语句中的变量要加$符号 ### 回答2: if循环是shell脚本中的条件语句之一,用于根据条件的真假执行相应的代码块。if循环的基本语法如下: ``` if 条件语句 then 执行语句1 else 执行语句2 fi ``` 条件语句可以使用各种测试操作符来判断某个条件是否为真,例如比较操作符(如-e、-eq、-ne、-lt等)用于比较数值,逻辑操作符(如&&、||)用于组合多个条件等等。 在if循环中,如果条件语句为真,则执行`执行语句1`,否则执行`执行语句2`。`执行语句1`和`执行语句2`可以是一条或多条命令,多条命令之间使用分号或者换行进行分隔。 除了基本的if-else结构,还可以使用elif关键字来处理多个条件,例如: ``` if 条件1 then 执行语句1 elif 条件2 then 执行语句2 else 执行语句3 fi ``` 在这个例子中,如果条件1为真,则执行`执行语句1`;如果条件1为假但条件2为真,则执行`执行语句2`;否则执行`执行语句3`。 使用if循环可以根据不同条件来执行不同的代码块,实现分支执行,提高脚本的灵活性和可用性。同时,可以通过组合多个if循环和逻辑操作符来实现更复杂的逻辑判断和处理。 ### 回答3: 在shell脚本中,if循环是控制流结构中的一种,用于根据条件进行分支判断和执行不同的操作。 if循环的语法如下: ```shell if [ condition ]; then # 执行语句块1 elif [ condition2 ]; then # 执行语句块2 else # 执行语句块3 fi ``` 其中`condition`和`condition2`是用于判断的条件表达式,可以使用比较运算符、逻辑运算符等构建。`[]`用于包裹条件表达式,`then`表示如果条件表达式为真,执行接下来的语句块。`elif`表示如果前面的条件不成立,继续判断下一个条件,可以有多个elif语句。`else`表示所有前面的条件都不成立时,执行最后的语句块。`fi`表示if结构结束。 例子: ```shell num=10 if [ $num -gt 0 ]; then echo "正数" elif [ $num -lt 0 ]; then echo "负数" else echo "零" fi ``` 以上代码中,首先判断变量`num`是否大于0,如果是,则输出"正数";如果不满足第一个条件,则继续判断是否小于0,如果是,则输出"负数";如果都不满足,则输出"零"。 在if循环中,还可以使用其他的控制流结构和命令,例如嵌套循环、循环语句、函数等,从而实现更复杂的逻辑判断和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值