首页 > 系统相关 >从零开始学习Shell if语句:一篇让你豁然开朗的文章

从零开始学习Shell if语句:一篇让你豁然开朗的文章

时间:2023-09-10 13:33:21浏览次数:60  
标签:语句 Shell num1 num2 示例 豁然开朗 echo 从零开始 day


从零开始学习Shell if语句:一篇让你豁然开朗的文章_基本语法

Shell 脚本中的 if 语句是用于进行条件判断的重要工具。通过 if 语句,你可以根据不同的条件执行不同的代码块。下面是一个简单的 shell if 语句的教程文章,包括了相关的命令行和脚本示例,并附带注释说明。

基本语法

在 shell 脚本中,if 语句的基本语法如下:

if [ condition ]
then
    # 如果条件为真,执行这里的代码块
else
    # 如果条件为假,执行这里的代码块
fi

其中,condition 是一个表达式或命令,用于判断条件的真假。如果条件为真,则执行 then 后面的代码块;如果条件为假,则执行 else 后面的代码块(可选)。fi 关键字用于标记 if 语句的结束。

示例一:简单的条件判断

下面是一个使用 if 语句进行简单条件判断的示例:

#!/bin/bash

num1=10
num2=5

if [ $num1 -gt $num2 ]
then
    echo "num1 大于 num2"
elif [ $num1 -eq $num2 ]
then
    echo "num1 等于 num2"
else
    echo "num1 小于 num2"
fi

在这个示例中,我们定义了两个变量 num1num2,然后使用 if 语句进行比较。根据比较的结果,输出相应的信息。注意条件表达式需要使用方括号 [ ],并且方括号之间要有空格。

示例二:多个条件判断

有时候我们需要同时判断多个条件,可以使用 elseif 关键字来添加额外的条件判断。下面是一个多条件判断的示例:

#!/bin/bash

day=$(date +%A)
time=$(date +%H:%M)
temperature=$(read -p "请输入当前温度: " temp)
humidity=$(read -p "请输入当前湿度: " hum)

if [ $day == "Sun" ] && [ "$temp" -ge 30 ] && [ "$hum" -lt 60 ]
then
    echo "今天是晴天,温度超过30度且湿度低于60%,适合户外活动!"
elif [ "$day" == "Mon" ] || [ "$day" == "Tue" ] || [ "$day" == "Wed" ] || [ "$day" == "Thu" ] || [ "$day" == "Fri" ] || [ "$day" == "Sat" ] || [ "$day" == "Sun" ] && [ "$temp" -ge 25 ] && [ "$hum" -ge 50 ]
then
    echo "今天是晴天或者雨天,温度超过25度且湿度高于50%,请注意防晒和防雨!"
else
    echo "今天天气情况未知,请自行判断是否外出。"
fi

标签:语句,Shell,num1,num2,示例,豁然开朗,echo,从零开始,day
From: https://blog.51cto.com/u_15801829/7424826

相关文章

  • shell 执行git 拉取代码并运行jar包
    #!/bin/shecho“正在获取git最新代码,请输入正确的用户名与密码”output=gitpulloriginmastera=$?b=0if[$a=$b];thenecho“代码拉取成功,正在执行打包”mvnclean&&mvncompile&&mvninstallecho“jar包复制到/mydata/app”mv-f/mydata/idg-server/target/a.jar......
  • 从零开始使用vue2+element搭建后台管理系统(前期准备)
    准备开始1.安装node(node-v查询版本号)(下载地址:https://nodejs.org/en/download/)2. 安装淘宝镜像 npminstall-gcnpm--registry=https://registry.npm.taobao.org3.安装webpack,以全局的方式安装 npminstallwebpack-g4.全局安装vue以及脚手架vue-cli npminst......
  • 从零开始构建企业内训小程序:技术全盘点
    在当今竞争激烈的商业环境中,不断提升员工的技能和知识是企业成功的关键。这些小程序不仅能够提供便捷的培训渠道,还可以根据员工的需求进行个性化的学习。本文将深入探讨如何从零开始构建一个企业内训小程序,同时全面分析所需的关键技术。一、明确需求和目标这包括确定要提供的培训内......
  • shell 执行git 拉取代码并运行jar包
    #!/bin/shecho“正在获取git最新代码,请输入正确的用户名与密码”output=gitpulloriginmastera=$?b=0if[$a=$b];thenecho“代码拉取成功,正在执行打包”mvnclean&&mvncompile&&mvninstallecho“jar包复制到/mydata/app”mv-f/mydata/idg-server/target/a.jar......
  • 使用Xshell查询日志
    背景:很多初级测试人员,在执行测试用例这个阶段时,发现了bug,却不能更加准确的去定位bug(即查询出现问题的地方/位置),在这样的情况下就可以通过Linux命令去查看对应的实时日志,当系统报错时,可以复制错误日志的部分贴在缺陷管理系统中的缺陷单上,同时在缺陷单上补充测试数据,操作步骤和系统......
  • Linux系统文件夹权限以及shell外壳的理解
    文件是什么和文件权限的简单理解首先我们要知道对于Linux中的文件而言一个文件=属性+内容。并且对于一个操作系统的使用人员而言,一个文件具有三种权限,分别是可读,可写,可执行。并且操作系统对于每一个用户(除了root权限)对于一个文件而言会倍分成不同的组。对于文件的创建者而言,Linux......
  • 从零开始搭建EasyDarwin环境——linux系统开发环境nodejs的搭建
    EasyDarwin是目前比较热门的开源平台之一,上一篇我们给大家详细展示了搭建EasyDarwin环境前实现虚拟机Linux系统共享目录,本文我们将说明一下如何在Linux下搭建起nodejs环境。1.首先安装wgetyuminstall-ywget如果已经安装了可以跳过该步骤。2.下载nodejs最新的bin包可以在下载页......
  • Xshell
    Xshell下载:Xshell下载-NetSarangWebsite这两个软件都可以下下一步安装就完事了 使用步骤文件->新建   大功告成 ......
  • ubuntu20.04 链路聚合的shell脚本
    链路聚合,就是将两个网口的功能合并,比如eth0和eth1两个网口,合并之后,本来只有使用eth0才能实现的功能,使用eth1后也可以,他们的网速也会变成eth0的网速+eth1的网速;#!/bin/bashname=/etc/netplan/01-network-manager-all.yaml#ip_netmask=$(grepaddresses$name|grep/)#gateway4=......
  • Linux shell 环境变量 All In One
    Linuxshell环境变量AllInOne全局环境变量,systemwideenvironment系统级环境变量局部环境变量,localwideenvironment用户自定义环境变量shell的3种启动方式登录默认的交互式shell非登录的交互式shell运行脚本的非交互式shellshell的常见类型shba......