Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29948
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-12 10:38
文章分类

全部博文(31)

文章存档

2015年(31)

我的朋友

分类: LINUX

2015-01-26 10:45:12

if [ 条件判断式 ] ; then
    程序
fi

if [ 条件判断式 ]
    then
        程序
fi

if [ 条件判断式 ]
    then
        程序
     else
        程序
fi

if [ 条件判断式 ]
    then
        程序
elif [ 条件判断式 ]
    then
        程序
     else
        程序
fi



例子1:判断分区使用率,赋值=不能有空格。if后面有空格,分号;可以没有空格。elseif没有空格
#!/bin/bash
rate=$(df -h | grep "sda1" | awk '{print $5}' | cut -d "%" -f1)
echo $rate
if [ $rate -ge 80 ];then
        echo "warning!"
fi
if [ $rate -le 80 ]; then
        echo "sda1 is okay!"
fi

改为elseif
if [ $rate -ge 80 ];then
           echo "warning!"
        else
           echo "sda1 is okay!"
fi

例子2:备份mysql数据库
注意: tar打包,要先cd进打包的目录。不要显示输出tar -xzf不用v,并且 &>/dev/null。
#/bin/bash

date=$(date +%Y%m%d%H%M%S)
size=$(du -sh /var/lib/mysql)

if [ ! -d /tmp/dbbakup ]
        then
                mkdir /tmp/dbbakup
        else
                echo "Date is: $date" >> /tmp/dbbakup/db.txt
                echo "size is: $size" >> /tmp/dbbakup/db.txt
                cd /tmp/dbbakup
                tar -czf mysql-var-lib-$date.tar.gz /var/lib/mysql db.txt &>/dev/null
fi

例子3:检测服务端口是否工作。nmap扫描端口,需要安装,黑客帝国刷屏用的这个命令。
#!/bin/bash
port=$(nmap -sT 192.168.4.7 | grep tcp | grep ssh | awk '{print $2}')

if [ "$port" == "open" ]
        then
                echo "$(date) ssh is ok!" >> /tmp/testdir/port.log
        else
                service ssh start &>/dev/null
                echo "$(date) ssh is restarting!" >> /tmp/testdir/port.log
fi

例子4: 检查用户输入的文件目录。发生错误一定要exit跳出,否则会继续向下执行命令。-z $file表示用户直接回车,没有输入。
#!/bin/bash
read -p "please input a filename: " file

if [ -z "$file" ]
        then
                echo "do not input null!"
                exit 1
elif [ ! -e "$file" ]
        then
                echo "your input is not a file!"
                exit 2
elif [ -f "$file" ]
        then
                echo "$file is a regular file!"
elif [ -d "$file" ]
        then
                echo "$file is a directory!"
fi

阅读(102) | 评论(0) | 转发(0) |
0

上一篇:条件判断

下一篇:没有了

给主人留下些什么吧!~~