shell编程基础入门-2

1、if…else 语句

1.1 语句结构

if (条件) {
    // 条件为真时执行的代码
} else {
    // 条件为假时执行的代码
}
if (条件1) {
    // 条件1为真
} else if (条件2) {
    // 条件2为真
} else {
    // 所有条件都不满足
}

1.2 案例

#!/bin/bash
#1、定义时间变量
a=$(date +%H)

#2、定义时间段  早上
if [ $a -ge 6 -a $a -lt 11 ];then
   echo "现在时间是早上$a点"

#3、定义时间段 中午

elif [ $a -ge 11 -a $a -lt 13 ];then
   echo "现在时间是中午$a点"

#4、定义时间段 下午

elif [ $a -ge 13 -a $a -lt 18 ];then
   echo "现在时间是下午$a点"

#5、定时间段 晚上
elif [ $a -ge 18 -a $a -lt 24 ];then
   echo "现在时间是晚上$a点"
else 
   echo "现在时间是凌晨 $a 点"
fi

在这里插入图片描述

2、for 循环

2.1 语句结构

for 变量 in 值列表
do
    命令1
    命令2
    ...
done

2.2 案例

#!/bin/bash
#1、定义变量IP地址的文件路径 
HT_list=$(< /home/ipaddr.txt)
#2、定义好流程控制语句 for
for IP in $HT_list
do
#3、使用哪些命令完成ping 通文件中的IP地址
    ping -c 3 -i 0.5 -W 3 "$IP" &> /dev/null
#4、定义假设ping通要给反馈  ping不通 也要给一个反馈 
    if [ $? -eq 0 ]; then
       echo " Host $IP is up." 
    else
      echo " Host $IP is down." 
       
    fi
done

在这里插入图片描述

3、while 语句

3.1 语句结构

while [条件判断]
do
    # 循环体代码
done

3.2 案例

#!/bin/bash
while ps -aux|grep httpd | grep -v grep &> /dev/null
do
echo  "httpd 正在运行中"
sleep 2

done
echo "httpd 不在运行中"

在这里插入图片描述

4、case 语句

case语句是Shell脚本中用于多条件分支判断的结构

4.1 语句结构

case 变量 in
    模式1)
        命令序列1
        ;;
    模式2)
        命令序列2
        ;;
    *)
        默认命令序列
        ;;
esac

4.2 案例

#! /bin/bash
case $1 in
"start")
systemctl start httpd
echo "启动服务"
;;

"stop")
systemctl stop httpd
echo "服务已关闭"
;;

"restart")
systemctl stop httpd && systemctl start httpd
echo "服务已重启"
;;

"status")
echo "查询服务状态"
systemctl status httpd
;;

*)
echo "请输入正确的命令:{ start|stop|restart|status}"
;;
esac

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

今天介绍了shell脚本里常用的四个语句:if … else语句(经典语句多条件判断)、for循环(用于重复执行一系列命令)、while(常用于定时触发、注意死循环)、case(用于多条件分支判断)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值