Shell流程控制
流程控制是改变程序运行顺序的指令。linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法
if语句
格式:if list; then list; [ elif list; then list; ] ... [ else list; ] fi
1、单分支
if 条件表达式; then
命令
fi
2、双分支
if 条件表达式; then
命令
else
命令
fi
实例1判断crond进程是否正在运行
-v:表示取反;-c:即count,取代通常的输出,显示行数
1 #!/bin/bash
2 NAME=crond
3 NUM=$(ps aux |grep $NAME |grep -vc grep)
4 if [ $NUM -eq 1 ];then
5 echo "$NAME running."
6 else
7 echo "$NAME is not running!"
8 fi
实例2:检查主机是否在线
-c:表示发送几次包;-w:表示等待时间。当试图简写不可达主机时此选项很有用
1 #!/bin/bash 2 if ping -c 1 192.168.11.5 &>/dev/null;then 3 echo "OK" 4 else 5 echo "NO" 6 fi