if条件语句

目录

if条件语句语法

单分支结构

双分支结构

通过if比较整数大小

监控mysql服务

检查web界面


if条件语句语法

单分支结构

语法:

if   [ 条件 ]
	then
		指令
fi
或
if	[ 条件 ];then
	指令
fi

双分支结构

语法:

if	[ 条件 ]
	then
		指令1
else
		指令2
fi
提示:前文的文件条件表达式[ -f "$file1" ]&&echo 1 ||echo 0
就相当于双分支的if[ -f "$file1" ];then echo 1;else echo 0;fi

举例:

开发shell脚本判断系统剩余内存的大小,如果低于100M就邮箱报警给管理员,并加入系统定时任务没3分钟执行一次检查
vim Mem.sh

#/bin/bash
Free=`free -m | grep "Mem" | awk '{print $4}'`
if [ "$Free" -ge "100" ];then
  echo "free is ok."
else
  echo "The Memtotal is false!!!"
  echo "free is less than 500M">>/tmp/mail
  mail -s "free mail" 1203978143@qq.com </tmp/mail
fi 
sleep 180

添加定时任务
vim /var/spool/cron/root
*/3 * * * * /bin/bash /home/xiaopi/Mem.sh

通过if比较整数大小

#/bin/bash
#no.1
if [ "$#" -ne 2 ];then
  echo "USAGE: num1 num2"
  exit 1
fi
#no.2
if [ ! "`echo "$1"|sed -r 's#[^0-9]##g'`" = "$1"  ];then
  echo "first arg must be int"
  exit 2
fi

if [ ! "`echo "$2"|sed -r 's#[^0-9]##g'`" = "$2"  ];then
  echo "second arg must be int"
  exit 2
fi
#no.3
if [ "$1" -eq "$2" ];then
  echo "$1 = $2"
elif [ "$1" -gt "$2" ];then
  echo "$1 > $2"
else [ "$1" -lt "$2" ]
  echo "$1 < $2"
fi

#需要注意事项
#每个if后面都需要有fi进行匹配
#未进行到最后一个if判断的需要添加exit模块
#|| 在if中可以用取反的方式来进行判断;&&在if中用then来进行下一步
#多个条件的if语句,最后一个判断可以用else

监控mysql服务

没有的话进行下载并开启

cat  check_db.sh
#/bin/bash
if [ `sudo netstat -tnlp|grep mysqld|wc -l` -ge "1" ];then
  echo "Mysql is Running."
else
  echo "Mysql is Stopped."
  sudo yum -y install mysql
  systemctl start mariadb
fi

检查web界面

cat  check_web.sh
#/bin/bash
#if [ "`curl -I -s -o /dev/null -w "%{http_code}\n" http://192.168.122.70`" = "200" ]
#根据网站返回状态码进行判断网页服务是否开启
#-I 显示信息头部
#-s 表示静默显示,会屏蔽因管道传参引起的错误信息
#-o 表示将结果丢掉垃圾桶
#-w 表示输出完之后显示

#if [ "`curl -I http://192.168.122.70 2>/dev/null|head -1|egrep '(200|301|302)'|wc -l`" -eq "1" ]
#根据返回状态码为200或301或302都代表网站存在,服务正常

if [ "`curl -s http://192.168.122.70 &>/dev/null&&echo $?`" = "0" ]
#根据访问结果成功来判断网站服务正常

#if [ "`curl -s http://localhost`" = "Apache2" ]
#根据页面上是否存在“Apache2”字段来判断网站服务是否存活,内容比较严格

then
        echo "http is running"
else
        echo "http is stopped"
        /usr/bin/systemctl start apache2
fi

也可以根据判断页面数据可否下载判断

[root@oldboy scripts]# cat judgehttpbyurl1.sh
#!bin/sh
#wget-T 10-q--spider http://10.0.0.7 >/dev/null
wget-T 10 -q --spider http://10.0.0.0.19 >&/dev/null

#--spider:	测试下载链接是否有效

#curl -s http://10.0.0.7 >/dev/null
if [ $?-eq 0 ];then
  echo "httpdis running.
else
  echo "httpd is not running.".
  /application/apache/bin/apachectl start
fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAS提供了多种类型的判断语句,包括if语句和条件语句。if语句由条件组成,如果条件为真,则执行特定的操作。if语句后面可以跟随else语句,当布尔条件为假时执行相应的操作。此外,if语句还可以嵌套使用,即在if语句后面再跟一对if-then语句。在SAS中,if语句可以用于删除特定的观察值。例如,如果条件为真,则从数据集中删除特定的数据。 SAS的条件语句if-then的基本形式是:if 条件 then 执行;例如,如果年份小于2000,则执行删除操作。条件语句if-then可用于根据给定的条件执行单条语句。 if语句是用来进行条件判断的,其使用格式如下:if 要判断的条件:条件成立时要执行的操作;满足条件时执行的操作;不满足条件时执行的操作。if语句可以根据条件的不同执行不同的操作。在SAS中,通过if条件语句,可以根据具体的条件进行相应的数据处理和操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SAS IF判断语句](https://blog.csdn.net/lvchunyang66/article/details/85773029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [SAS 条件语句](https://blog.csdn.net/m0_51011378/article/details/121053381)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [判断语句和循环语句(基础篇三)](https://download.csdn.net/download/weixin_38621624/14856899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值