if分支条件分支
if [ 条件判断式 ]; then
代码
fi
或者
if [ 条件判断式 ] #这里是test的[]形式[ 这里有空格 ]
then
代码
fi
判断磁盘空间使用率是否超过80% |
1 #!/bin/bash 2 rate=$(df -h |grep /dev/disk0s2 | awk '{print $5}'| cut -d "%" -f1) 3 if [$rate-ge85] 4 then 5 echo"WARNING..." 6 else 7 echo"It's Good..." 8 fi |
备份mac下的/etc目录 |
1 date=$(date +%Y%m%d) 2 size=$(du -sh /etc) 3 4 if [!-d /tmp/etc_back/ ] 5 then 6 mkdir -p /tmp/etc_back/ 7 fi 8 9 echo"Date is: $date"> /tmp/etc_back/backup.log 10 echo"Size is: $size">> /tmp/etc_back/backup.log 11 cd /tmp/etc_back 12 echo"开始压缩。。。" 13 tar -zcf etc_$date.tar.gz /private/etc /tmp/etc_back/backup.log &> /dev/null 14 echo"压缩完成,删除临时文件。。。" 15 rm -f /tmp/etc_back?backup.log 16 echo"备份结束。。。"
|
tar –ztvf/tmp/etc_back/etc_20160901.tar.gz查看压缩包中的内容
mac上检查apache服务是否正常运行,如果宕了就重启apache |
1 #!/bin/bash 2 port=$(nmap -sT 192.168.31.179|grep tcp |grep http | awk '{print $2}') 3 if ["$port"=="open"] 4 then 5 echo"$(date) httpd is ok!!">> /tmp/httpd_acc.log 6 else 7 sh /usr/sbin/apachectl restart&> /dev/null 8 echo"$(date)" httpd is reboot >> /tmp/httpd_err.log 9 fi |
关键字:nmap命令
判断输入文件类型(if … elif … elif … fi) |
#!/bin/bash read-p"输入文件名:" file if [-z"$file"] then echo"输入不能为空" exit1 elif[!-e"$file"] then echo"文件不存在" exit2 elif[-f"$file"] then echo"输入是一个普通文件" elif[-d"$file"] then echo"输入是一个目录" else echo"输入是一个特殊文件" fi |
case语句
#!/bin/bash echo"输入1,显示北京" echo"输入2,显示上海" echo"输入3,显示广州" echo"输入其他,显示大中国"
read-p"请输入:"-t30 choose # -t 30,等待30秒
case$choosein "1") #“这里case的格式” echo"北京" ;; #“这里也是case的格式;;表示这一个分支结束,有点类似java里的break” "2") echo"上海" ;; "3") echo"广州" ;; *) # *相当于defalut echo"大中国" ;; esac |