Shell语法—— if 条件语句

if 条件语句语法

1.单分支结构

if < 条件表达式 >; then
    指令
fi

2.双分支结构

if < 条件表达式 >; then
    指令 1
else
    指令 2
fi

3.多分支结构

if < 条件表达式 1 >; then
    指令 1
else if < 条件表达式 2 >;then
    指令 2
elif < 条件表达式 3 >;then
    指令 3
else
    指令 4
fi
if 条件语句多种条件表达式语法

1.test 条件表达式

if test 表达式;then
        指令
if
  1. [] 条件表达式

    if [ 表达式 ];then
        指令
    if
  2. [[]] 条件表达式
    if [[ 表达式 ]];then
        指令
    if
  3. (()) 条件表达式
    if (( 表达式 ));then
        指令
    if

    5.命令表达式

    if 命令;then
        指令
    if

    案例一:
    编写 Shell 脚本判断系统剩余内存大小,为方便测试,如果低于 1000M,则发送邮件报警,加入定时任务,每 3 分钟执行一次
    1.安装 mail 客户端

    yum install mail -y
    echo "
    set [email protected] smtp=smtp.163.com
    set [email protected] smtp-auth-password=password smtp-auth=login " >> /etc/mail.rc

    2.编辑 Shell 脚本

    #!/bin/bash
    free=`free -m|awk ‘NR==3{print $NF}‘`
    age="Mem:$free  insufficient memory"
    if [ $free -lt 1000 ];then
        echo $age|tee /home/while.log
        mail -s "`date -u +%F_%X`" [email protected] < /home/while.log
    fi

案例二:
简单判断数据库服务是否正常运行
方法一:

#!/bib/basg
if [ `netstat -lntp|grep mysqld|wc -l` -gt 0 ];then
        echo "zheng chang"
else
        echo "yi chang"
fi

方法二:

#!/bib/basg
if [ `ps -fe|grep mysqld|grep -v grep|wc -l` -gt 0 ];then
        echo "zheng chang"
else
        echo "yi chang"
fi

方法三:

#!/bin/bash
[ `rpm -qa nmap|wc -l` -lt 1 ] && yum install nmap -y &>/dev/null
if [ `nmap 192.168.1.1 -p 3306 2>/dev/null|grep open|wc -l` -gt 0 ];then
        echo "zheng chang"
else
        echo "yi chang"
        service mysqld start
fi

方法四:

#!/bin/bash
[ `rpm -qa nc|wc -l` -lt 1 ] && yum install nc -y &>/dev/null
if [ `nc -w 2 192.168.1.1 3306 &>/dev/null && echo ok | grep ok | wc -l` -gt 0 ];then
        echo "zheng chang"
else
        echo "yi chang"
        service mysqld start
fi

原文地址:http://blog.51cto.com/12384628/2294198

时间: 2024-10-06 11:13:12

Shell语法—— if 条件语句的相关文章

Shell语法—— case 条件语句

case 条件语句语法 case 条件语句语法格式为: case " 变量 " in 值 1) 指令 1 ;; 值 2) 指令 2 ;; \* ) 指令 3 ;; esac 了解即可 给字体加颜色的命令:例:echo -e "\E[1;31m 红颜色 hello world \E[0m" \E 等同于 \033 "[1" 数字 1 表示加粗显示 31m 表示红色字体 "[0m" 表示关闭所有属性 "[1m"

Shell语法—— while 条件语句

while 循环语句 while 循环语句语法格式为: while < 条件表达式 > do 指令 done 有关脚本运行的相关用法 命令 说明 sh file.sh & 把 file.sh 脚本放到后台运行(后台运行脚本的常用方法) ctl+c 停止执行当前脚本或任务 ctl+z 暂停执行当前脚本或任务 bg 把当前脚本或任务放到后台执行 fg 把当前脚本或任务放到前台执行.如果是多个脚本,需加编号,如: fg 2 jobs 查看当前执行的脚本或任务 kill 关闭执行的脚本任务 有

Java 语法 索引 ----- 条件语句(If Else,Switch)

if (x < 1) System.out.print(x + " < 1"); else if (x > 1) System.out.print(x + " > 1"); else System.out.print(x + " == 1"); Switch switch (y) { case 0: System.out.print(y + " is 0"); break; case 1: System

Shell中if条件语句的知识和实践

本文主要讲解if条件语句在shell的使用场景和示例 基本大纲: 1.if条件语句的语法 2.if条件语句多种条件表达式语法 3.单分支if条件语句实践 4.if条件语句的深入实践及场景使用 一:if条件语句的语法 1)单分支结构 第一种语法: if    <条件表达式> then 指令 fi 第二中语法: if    <条件表达式>:then 指令 fi 上面的"<条件表达式>"部分可以是test.[].[[]].(())等条件表达式,也可以直接使

Linux Shell编程(1): 条件语句

1.if—then#!/bin/bashif date              如果命令运行成功(退出码为0),则then部分的命令被执行then   echo "good"fi 2.if—then—else#!/bin/bashif hunterthen   echo "good"else    echo "bad"        if语句中退出码非0,则执行else部分语句fi 3.elif#!/bin/bashif hunterthen 

shell 脚本 if 条件语句

使用test测试命令时,多数使用 " [ 条件表达式 ] ",条件表达式与方括号之间至少需要有一个空格. 1.文件测试: -d:测试是否为目录:-f:测试是否为文件:-e:测试是否文件或目录存在:-r:测试当前用户是否有权限读取:-w:测试当前用户是否有权限写入:-x:测试是否设置有可执行权限:2.整数值比较: -eq:第一个数等于第二个数:-ne:第一个数不等于第二个数:-ge:第一个数大于或等于第二个数:-le:第一个数小于或等于第二个数:-lt:第一个数小于第二个数:-gt:第一

Shell编程之条件语句

条件测试 文件测试整数测试字符串与逻辑测试 if语句 if单分支语句if双分支语句if多分支语句if嵌套语句 test命令 测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值 格式1: test 条件表达式 格式2:[ 条件表达式 ] //括号内空格 文件测试 [ 操作符 文件或目录 ] //括号内空格 常用的测试操作符-d:测试是否为目录(Directory)-e:测试目录或文件是否存在(Exist)-f:测试是否为文件(File)-r:测试当前用户是否有权限读取(R

Shell脚本之条件语句

条件测试 1.文件测试2.整数测试3.字符串与逻辑测试 if语句: if单分支语句if双分支语句if多分支语句if嵌套语句 test命令:测试特定的表达式 是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值. 格式1:test 条件表达式格式2:[ 条件表达式 ] //注意有空格 文件测试 文件测试是指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读.可写.可执行等. 常用的测试操作符: -d:测试是否为目录(Directory)-e:测试目录或文件是否存在(Ex

编译器--支持条件语句和循环语句的计算器(三)

在上篇文章中实现了支持变量和赋值语句的计算器,这次加入了条件语句和循环语句. 语法简介 下面是条件语句的一个例子,能够对条件语句的格式有一个感性认识: if  var1 > 5 then var2 := 10; end 条件语句以if开始,后跟一个条件表达式,如果其为真则执行then后面的语句块,条件语句以end结束. 条件语句也可以支持else分支语句,比如 if var1 > 5 then var2 := 10; else var2 := -10; end 接下来是一个循环语句的例子: v