shell中if语句_shell脚本if判断

shell中if语句_shell脚本if判断提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、if语句1.if单分支判断2.if双分支判断3.if多分支判断总结提示:以下是本篇文章正文内容,下面案例可供参考一、if语句1.if单分支判断●当“条件成立”时执行命令序列●否则不执行任合操作语法格式♦if空格条件测试then命令序列fiif加空格加一个条件测试,如果这个条件测试结果为真那么就执行then后面的命令序列,这个命令序列可以是一条命令也可以是多条命令只要条件测试为真,.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


提示:以下是本篇文章正文内容,下面案例可供参考

一、if语句

1. if单分支判断

● 当“条件成立”时执行命令序列
● 否则不执行任合操作

语法格式
♦ if空格条件测试
then 命令序列
fi
if加空格加一个条件测试,如果这个条件测试结果为真
那么就执行then后面的命令序列,这个命令序列可以是一条命令也可以是多条命令
只要条件测试为真,那么then后面的所有命令都会被执行,直到下一个fi代表if语句结束
如果if语句后面的条件测试失败,那么then后面的所有命令不再被执行

♦ if空格条件测试;then
命令序列
fi
第二种格式

示例1:

#!/bin/bash
read -p "请输入用户名:" user
#-s 是用户写的密码不会在屏幕上显示出来
read -s -p "请输入密码:" pass
#"-z"判断字串是否为空,"! -z"判断字符串是否为非空
if [ ! -z "$user" ];then
  useradd "$user"
fi
if [ ! -z "$pass" ];then
#输出变量$pass,使用管道符|将该密码传递给$user
  echo "$pass" | passwd --stdin "$user"
fi
echo

在这里插入图片描述
示例2:
使用组合命令将两个命令写在一个里面

#!/bin/bash
read -p "请输入用户名:" user
#-s 是用户写的密码不会在屏幕上显示出来
read -s -p "请输入密码:" pass
#"-z"判断字串是否为空,"! -z"判断字符串是否为非空
if [ ! -z "$user" ] && [ ! -z "$pass"];then
  useradd "$user"
#输出变量$pass,使用管道符|将该密码传递给$user
  echo "$pass" | passwd --stdin "$user"
fi
echo

在这里插入图片描述

2. if双分支判断

代码如下(示例):
● 当“条件成立”时执行命令序列1
● 否则,执行命令序列2

语法格式:
♦ if 条件测试
then
命令序列1
else
命令序列2
fi

♦ if 条件测试;then
命令序列1
else
命令序列2
fi

示例1:
测试主机是否能ping通

#!/bin/bash
#当判断$1为空时,($1)就是脚本的第一参数,当用户不给参数的时候,$1是空的时候,那么屏幕就会显
示脚本的用法是错误
if [ -z "$1" ];then
#-n 的意思是不换行,不回车,两个echo分别会用两个颜色显示,但最终会在同一行显示,因为第一个echo没有换行
  echo -n "用法:脚本 "
  echo -e "\033[35m域名或IP"
  exit
fi
#c(设置ping的次数),i(设置ping的间隔描述),-W(设置超越时间)
ping -c2 -i0 -W1 "$1" &>/dev/null
if [ $? -eq 0 ];then
  echo "$1 is up"
else
  echo "$1 is down"
fi

在这里插入图片描述

3. if多分支判断

● 相当于if语句嵌套
● 针对多个条件分别执行不通的操作

语法格式:
♦ if 条件测试1;then
命令序列1
elif 条件测试2;then
命令序列2
……
else
命令序列n
fi

if先写一个条件测试1,先试试第一个条件测试能否满足,如果这个条件可以满足,then那么,就执行then后面的命令,
如果第一个条件不满足,elif则再去判断第二个条件测试是否满足,如果可以满足就执行then后面的命令
以此类推,后面就可以做很多很多次判断,比如说,首先上来判断你性别是否为男,如果是,则执行第一个命令,如果不是,那就再判断第二个条件,你是否为女,如果是女的话,则执行第二个命令,除了男女外可能还有其他情况,就可以继续编写如a情况会如何,如果是b情况会如何
如果前面的条件都没有满足,那么就是执行else后面的命令序列

示例1:
猜数字

#!/bin/bash
b=$[RANDOM%10+1]
read -p "请输入1-10之间的整数:" a
if [ $a -eq $b ]; then
  echo "恭喜,猜对了,就是$num"
elif [ $a -lt $b ]; then
  echo "猜小了"
else
  echo "猜大了"
fi
echo

在这里插入图片描述
示例1的脚本因为每次执行都会变为随机数,所以该脚本并未完善, 后续会进一步完善该脚本

总结

● if的语法格式
需要非常熟悉if的语法格式,在编写任合具体脚本案例之前首先要熟悉掌握if的语法格式if开始fi结尾,当then和if在同一行的时候需要使用“;”分号
当不在同一行的时候可以直接输入
if的单分支它只有一种条件判断,而双分支除了有if之外还要有else,成功了,就用第一个命令,否则就是else后面的那个命令
多分支想对来说复杂一些,它可以多次判断,多次进行if判断,当前面条件都不满足时,就可以做一个else,在前面的条件都不能满足的情况下,就统一认为符合最后一种情况,执行最后一个命令
● 判断用户输入的字串是否为空
判断用户输入的字串是否为空有效防止脚本异常
● 检测主机连通性
通过示例检测主机连通性实际验证了双分支的if语句
● 猜数字
通过猜数字验证多分支的if语句

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170870.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 老电脑 升级 cpu性能排行 高性价比的cpu主板选择

    老电脑 升级 cpu性能排行 高性价比的cpu主板选择老电脑升级cpu性能排行高性价比的cpu主板选择4核ddr2ddr3

    2022年9月20日
    2
  • Oracle SQL脚本学习6

    Oracle SQL脚本学习6

    2021年8月29日
    69
  • list 初始化大小

    list 初始化大小List list2 = new ArrayList1000000);          for(int i = 0 ; i 1000000; i++){              student = new StudentVO(i,”chenssy_”+i,i);              list2.add(student);          } list会

    2025年5月23日
    3
  • 最炫民族风原创_manjaro deepin

    最炫民族风原创_manjaro deepin最近有一首最具有民族风的歌曲很流行,它就是《最炫民族风》。中华民族的儿女都有这种情节,对于民族风的事物都非常感兴趣。与之相关,有一款最具民族风的Linux桌面操作系统也正在引起大家的关注。2012年7月17日,国人最喜爱的一款Linux发行版——DeepinLinux12.06正式发布了。LinuxDeepin也就是我们所说的深度Linux,这是一款基于Ubuntu11.04的发行

    2022年9月15日
    2
  • navicat15永久激活码最新【2021.7最新】「建议收藏」

    (navicat15永久激活码最新)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    513
  • Win10 CMD命令大全—超好用快捷键

    Win10 CMD命令大全—超好用快捷键一、WindowsCMD命令大全1、按组合键Win(Windows图标键)+R键打开运行窗口,输入“cmd”按回车即可打开cmd命令提示符2、在窗口右击选择属性可进行个性化设置~命令功能1、calc启动计算器2、appwiz.cpl程序和功能3、certmgr.msc证书管理实用程序4、charmap启动字符映射表5、chkdsk.exeChkdsk磁盘检查(管理员身份运行命令提示符)6、cleanmgr打开磁盘清理工具7、

    2022年5月17日
    876

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号