if条件语句实战单分支结构
admin
2023-07-29 12:21:28
0

单分支结构

语法:

if  [条件]

  then

      指令

fi

if [条件]:then

        指令

fi


if单分支条件中文编程语法:

如果   [你有房]

    那么

        我就嫁给你

果如


提示:分号相当于命令换行,上面两种语法等用。

特殊写法:if [-f "$file1"];then echo 1;if 相当于:[if "$file1"]&& echo 1

if [ -f  "$file1" ] :then

    echo 1

fi


范例1:

#!/bin/bash
#功能:单分支if结构整数比较,用-lt格式例子
if [ 10 -lt 12 ]
then 
echo "yes"
fi

执行结果:
[root@XCN if]# sh test1.sh 
yes
#提示:当比较条件为整数数字时


范例2:使用read及脚本传参方式如果实现上述整数的比较?

解答:

特别强调:read读入和命令行传参是两种输入内容的方法。

1)脚本传参的方式脚本例子

#!/bin/bash
if [ $1 -lt $2 ]: then
  echo "yes,$1 less then $2"
fi

输入结果
[root@XCN if]# sh if2.sh 1 2
yes,1 less then 2

2)单分支if判断两整数大小三种情况的脚本例子(以read读入为例)

#!/bin/bash
read -p "pls input two num:" a b
if [ $a -lt $b ];then
  echo "yes,$a less than $b"
  exit
fi
if [ $a -eq $b ];then
  echo "yes,$a eaual $b"
  exit
fi
if [ $a -gt $b ];then
  echo "yes,$a greater than $b"
  exit
fi


见证奇迹的时刻:
[root@localhost shell]# sh if1.sh 
pls input two num:1 2
yes,1 less than 2


范例3:开发shell脚本实现如果/server/scipts下面存在if3.sh的内容就输出到屏幕

注意:如果执行脚本后发现该if3.sh不存在,就自动创建这个if3.sh脚本

#!/bin/bash
path=/server/scripts
file=if3.sh
#no1
if [ ! -d $path ]
then
  mkdir -p $path
  echo "$path is not exist,already created it."
fi
#no2
if [ ! -f $path/$file ]
then
  touch $path/$file
  echo "$file is not exist,alreadt created it."
  exit
fi
#no3
echo "ls -l $path/$file"
ls -l $path/$file                                                                         
~                                                                           
执行输出:
                                                                                           
[root@localhost ~]# sh if.sh 
/server/scripts is not exist,already created it.
if3.sh is not exist,alreadt created it.


范例4:开发脚本判断系统剩余内存大小,如果低于100M就邮件报警。

测试报警成功后加入系统定时任务每3分钟执行一次检查。


思路:

  1. 如果去内容,去内存那个选项。

[root@ailuoli ~]# free -m|grep buffers/ |awk ' {print $NF}'
1781

  2.发邮件mail,mutt。sendmail服务器要开启

[root@ailuoli ~]# yum install sendmail
[root@ailuoli ~]# /etc/init.d/sendmail start
Starting sendmail: [  OK  ]
Starting sm-client: [  OK  ]

[root@ailuoli ~]#echo "xcn"|mail -s "title" 995345781@qq.com

3.编写脚本

#!/bin/bash
userd_mem=`free -m|grep buffers/ |awk ' {print $NF}'`
if [ $userd_mem -lt 100 ]
then
  echo "menm is not enough,$userd_men."|mail -s "mem warning $(date +%F)" 995345781@qq.com
fi

if条件语句实战单分支结构

三分钟监测一次:

*/3 * * * * /bin/bash /mem.sh


相关内容

热门资讯

中国海军舰艇编队将访问越南 7月初,应越南海军邀请,中国人民解放军海军戚继光舰、昆仑山舰组成的舰艇编队将赴越南胡志明市访问。近年...
坐在署长与科长中间,29岁韩国... 2025年10月,韩国光州,一名29岁女消防员郑某坠楼身亡。她没有留下遗书,事发初期,当地消防部门并...
俄称控制顿涅茨克地区重镇,乌方... 当地时间7月4日,乌克兰武装部队总参谋部否认俄军控制顿涅茨克地区康斯坦丁诺夫卡的消息,称该居民点仍由...
7-11便利店起诉耐克新鞋配色... 封面新闻记者 赵奕 柴枫桔据路透社7月2日报道,跨国连锁零售公司7-Eleven(7-11)已在美国...
香港患者北上寻药:部分抗癌药内... 距离深圳福田口岸约十多分钟车程的深圳新风和睦家医院,开业仅有四年,肿瘤科中的中国香港患者占比达到75...
陈奕迅女儿回应父亲购买1.8亿... 近日,陈奕迅女儿陈康堤在接受采访时,首度回应了父亲购买约1.8亿(港元)豪宅一事。陈康堤表示:“他没...
福山:美国或衰落下去,最终将领... 【文/观察者网 冯雪】美国迎来建国250周年前夕,日裔美籍学者弗朗西斯·福山(Francis Fuk...
热水器调节不了温度 热水器无法调节水温,是不能调节温度的,可以通过调节水量开关和火力开关来调节水温。热水器有两个温度调节...
科龙冷藏柜的温度调节 冷藏柜的调节可以通过外置温度调节器来实现,在调节的时候注意温度要和环境温度相结合,档位越高表示温度越...
没有网线连接电视机的方法 对于没有网线连接电视机的情况,有以下几种方法可供选择。 1.使用WiFi连接器 现在市场上有很多...