Shell编程学习-If条件语句

chatgpt/2023/9/27 7:33:34

示例1:使用传参的方式实现两个整数的比较:

#!/bin/bash
#
read -p "Please input second number: " num1 num2if [ $num1 -lt $num2 ]thenecho "$num1 is less than $num2."exit
fiif [ $num1 -eq $num2 ]thenecho "$num1 is equal to $num2."exit
fiif [ $num1 -gt $num2 ]thenecho "$num1 is greater than $num2."exit
fi

示例2:使用read输入的方式实现两个整数的比较:

[root@vm1 scripts]# cat if3.sh
#!/bin/bash
#
#read -p "Please input second number: " num1 num2
num1=$1
num2=$2if [ $num1 -lt $num2 ]thenecho "$num1 is less than $num2."exit
fiif [ $num1 -eq $num2 ]thenecho "$num1 is equal to $num2."exit
fiif [ $num1 -gt $num2 ]thenecho "$num1 is greater than $num2."exit
fi

说明:

1)read读入和命令行传参是两种输入内容的方法,不要混用。

2)缺点是复杂、逻辑还不够清晰,那么有没有更好的方法呢?当然有的,见后面的分支if的实现。

示例3: 开发shell脚本,实现如果/server/scripts下面存在if3.sh就输出到屏幕。注意:如果执行脚本后发现脚本if3.sh不存在,就自动创建这个if3.sh的脚本。

[root@vm1 scripts]# cat if6.sh
#!/bin/sh
#
path=/server/scripts
file=if7.shif [ ! -d "$path" ]thenmkdir -p $pathecho "$path dir is not exist. already create it."
fiif [ ! -f "$path/$file" ]thentouch $path/$fileecho "$path/$file is not exist. already create it."exit
fils -l $path/$file

运行脚本进行测试: 

[root@vm1 scripts]# sh if6.sh
/server/scripts/if7.sh is not exist. already create it.
[root@vm1 scripts]# sh if6.sh
-rw-r--r-- 1 root root 0 Jul 31 23:44 /server/scripts/if7.sh
[root@vm1 scripts]#

示例4:开发脚本判断系统剩余内存大小,如果低于100M就邮件告警。测试告警成功后系统定时任务每3分钟执行一次检查。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5314267.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

开发一个RISC-V上的操作系统(五)—— 协作式多任务

目录 往期文章传送门 一、什么是多任务 二、代码实现 三、测试 往期文章传送门 开发一个RISC-V上的操作系统(一)—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统(二)—— 系统引导程序&a…

C# Winform 多进程窗体间传值->SendMessage()

在 C# 的 Windows Forms 中,使用 Windows API 的 SendMessage 方法可以实现窗口间的消息通传递,当然也可以在不同的进程之间发送消息。接下来,我将为您提供一个基本的示例,演示如何使用 SendMessage 以及如何重写 WndProc 方法来接…

Clamp的介绍

Clamp的介绍 在Unity中,clamp是一种用于限制数值范围的函数。它可以帮助开发者将数值限制在指定的范围内,以避免数值溢出或错误。Unity中提供了多种clamp函数,包括clamp01、clamp、clampMagnitude、clampMin、clampMax和clampValue等。 Cla…

Stable Doodle:Stability AI推出的一款零门槛AI绘画神器

Stable Doodle是由Stability AI推出的一款零门槛AI绘画神器,可以将简单的草图转化为精美的图像。它可以将随手的塗鴉草稿转化为高畫質的完成圖,让用户能够以更快的速度将想法转化为精美的艺术作品。Stable Doodle利用最新的Stable Diffusion模型&#xf…

展锐USB充电图标更新流程

介绍 power_supply 目录下online节点是用于判断是否插入battery、ac(外部电源) 和USB 的节点,目录在sys/class/power_supply/battery(ac、usb)/online,主要用于在StatusBar 上显示充电的闪电图标。 SystemUI层介绍 流程介绍 在SystemUI 中控制充电图…

linux下makefile文件编写

在linux环境下编译项目时,我们可能会连接很多头文件和动态库。这会给我们造成很多的麻烦。这时我们使用makefile文件会极大地简便我们项目的编译过程。下面是一些步骤。 1.创建makefile文件 vi makefile2.编辑makefile文件,样例如下 LIBS:hcnetsdk Audi…

BMI指数计算小工具Java

现在越来越多的人关注健康,关注身材管理,不妨做个小工具,计算自己的BMI,给自己制定合理的健身或减肥计划,享受健康生活!!!BMI的计算标准从网上找的,不知道是否准确&#…

Elasticsearch和MySQL之间的数据同步问题

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章参考网上的课程,介绍Elasticsearch和MySQL之间的数据同步问题。 如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。 小威在…
推荐文章