b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

linux if 多条件 shell编程(3)

电脑杂谈  发布时间:2018-02-20 21:09:19  来源:网络整理

整数1 -gt 整数2 判断整数1是否大于整数2(大于为真)

整数1 -lt 整数2 判断整数1是否小宇整数2(小于为真)

整数1 -ge 整数2 判断整数1是否大于等于整数2(大于等于为真)

整数1 -le 整数2 判断整数1是否小于等于整数2(小于等于为真)

-z 判断字符串是否为空(为空返回真)

-n 判断字符串是否非空(非空返回真)

字符串1 == 字符串2 判断字符号1是否和字符串2相等(相等返回真)

字符号1!=字符串2 判断字符串1是否和字符串2不等(不等返回真)

判断1 -a 判断2 逻辑与,判断1和判断2都成立,最终的结果才为真

判断1 -o 判断2 逻辑或,判断1和判断2有一个成立,最终结果为真

! 判断 逻辑非,使原始的判断式取反

例:

 aa=22

[ -n "$aa" -a "$aa" -gt 23 ] && echo yes || echo no

#判断aa是否有值,同时判断aa是否大于23

#因为变量aa的值不大于23,所以虽然第一个判断值为真,返回的结果也是假

流程控制

if [条件判断式]; then

程序

fi

if [条件判断式]

then

程序

fi

单分支条件语句需要注意几个点

if语句使用fi结尾,和一般语言使用大括号结尾不同

[条件判断式] 就是使用test命令判断,所以中括号和条件判断式之间必须有空格

then后面除符合条件之后执行的程序,可以放在[]之后,用“;”分割。也可以换行写入,就不需要“;”了

例:判断分区使用率

#!/bin/bash

diska=$(df -h | grep "/dev/sda3" | awk ‘{print $5}‘ | cut -d "%" -f1)

#把根分区使用率作为变量值赋予变量disk

if [ $diska -ge 80 ]

#判断变量diska是否大于80(大于等于为真)

then

echo "硬盘 /dev/sda3 剩余空间不足%20"

df -h | grep "/dev/sda3"

fi

if [ 条件判断式 ]

then

条件成立时,执行的程序

else

条件不成立时,执行的另一个程序

fi

例:

#!/bin/bash

#mysql备份

#由于实验环境无mysql,则mysql路径/var/lib/mysql以/root代替

date=$(date +%y%m%d)

#把当前系统时间按年月日的格式赋予变量date

size=$(du -sh /root)

#统计MySQL大小并赋予变量size

if [ -d /tmp/backup ]

then

echo "$date" > /tmp/backup/backup-time.txt

echo "$size" >> /tmp/backup/backup-time.txt

cd /tmp/backup

tar czvf mysql-lib-$date.tar.gz /root backup-time.txt&>/dev/null

rm -rf backup-time.txt

else

mkdir /tmp/backup

echo "$date" > /tmp/backup/backup-time.txt

echo "$size" >> /tmp/backup/backup-time.txt

cd /tmp/backup

tar czvf mysql-lib-$date.tar.gz /root backup-time.txt&>/dev/null


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-86197-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 王铭烨
      王铭烨

      美国现役主战舰艇

    • 李群玉
      李群玉

      来宣示霸权的美国军舰

    • 钟汉良
      钟汉良

      韦德只是比俺们厂子工资高许多

    热点图片
    拼命载入中...