码迷,mamicode.com
首页 > 其他好文 > 详细

007-流程控制 if 语句

时间:2019-06-05 21:59:52      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:file   amp   mapper   org   col   port   roo   流程   cut   

流程控制 if 语句

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

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




脚本示例:
[root@zabbix lianxi]# cat 001.sh 
#!/bin/bash

#rate=$(df -h | grep mapper | awk {print $5} | cut -d "%" -f 1)
rate=`df -h | grep mapper | awk {print $5} | cut -d "%" -f 1`

if [ $rate -ge 80 ] ; then
    echo "根分区要满了"
fi





[root@zabbix lianxi]# cat 002.sh 
#!/bin/bash

#备份mysql数据库.备份目录

#ntpdate asia.pool.ntp.org &> /dev/null
#同步系统时间

date=`date +%y%m%d`

size=`du -sh /etc`

mysql_back() {
    echo "Date:$date" > /tmp/dbbak/dbinfo.txt
    echo "Size:$size" >> /tmp/dbbak/dbinfo.txt
    cd /tmp/dbbak
    tar -zcf etc-$date.tar.gz /etc dbinfo.txt &> /dev/null
    rm -rf /tmp/dbbak/dbinfo.txt
}

if [ -d /tmp/dbbak ] ; then
    mysql_back
else
    mkdir /tmp/dbbak
    mysql_back
fi







[root@zabbix lianxi]# cat 003.sh 
#!/bin/bash

#判断apache是否启动

port=`nmap -sT 192.168.12.174 | grep tcp | grep http | awk {print $2}`

if [ $port == "open" ] ; then
    echo "`date` apache 正在运行" >> /tmp/autostart-acc.log
else
    /usr/sbin/httpd -k start &> /dev/null
    echo "`date` apache 已启动" >> /tmp/autostart-acc.log
fi







#!/bin/bash

read -p "请输入一个文件名:" file

if [ -z $file ] ; then
    echo "错误,请输入一个文件名"
    exit 1
elif [ ! -e $file ] ; then
    echo "你输入的不是一个文件"
    exit 2
elif [ -f $file ] ; then
    echo "$file 是一个普通文件"
elif [ -d $file ] ; then
    echo "$file 是一个目录"
else 
    echo "$file 是一个其它文件"
fi



[root@zabbix lianxi]# ./004.sh 
请输入一个文件名:
错误,请输入一个文件名
[root@zabbix lianxi]# echo $?
1
[root@zabbix lianxi]# ./004.sh 
请输入一个文件名:sadf
你输入的不是一个文件
[root@zabbix lianxi]# echo $?
2
[root@zabbix lianxi]# ./004.sh 
请输入一个文件名:/root
/root 是一个目录

 

007-流程控制 if 语句

标签:file   amp   mapper   org   col   port   roo   流程   cut   

原文地址:https://www.cnblogs.com/xuefy/p/10981964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!