加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux中的shell脚本管理(二)

发布时间:2016-10-23 09:09:49 所属栏目:Linux 来源:网络整理
导读:在Shell脚本中执行使用if语句的好处是:可以根据特定的条件(eg:判断备份目录是否存在)来决定是否执行某项操作,当满足不同的条件时执行不同的操作(eg:备份

例2:提取出"/boot“分区的磁盘使用率,并判断是否超过95%(为了便于理解,操作步骤适当进行分解)

df -hT | grep ”/boot“ | awk '{print $6}'
12%
BootUsage=`df -hT | grep ”/boot" | awk '{print $6}' | cut -d "%" -f 1`
echo $BootUsage
12
[ $BootUsage -gt 95 ] && echo "YES"    //无输出表示未超标

1.3:字符串比较:

字符串比较可以用于检查用户输入,如:在提供交互式操作时,判断用户输入的选项是否与指定的变量内容相匹配。“=”、“!=”操作选项分别表示匹配、不匹配。“-z”操作选项用于检查字符串是否为空。其中,“!”符号用于取反,表示相反的意思。

eg:提示用户输入一个文件路径,并判断是否是“/etc/inittab”,如果是则显示“YES”.

read -p "Location: " FilePath
Location: /etc/inittab           
[ $FilePath = "/etc/inittab" ] && echo "YES"
YES

eg: 若当前环境变量LANG的内容不是“en.US”,则输出LANG变量的值,否则无输出。

[ $LANG != "en.US" ] && echo $LANG
zh_CN.UTF-8

eg: 使用touch命令建立一个新文件,测试其内容是否为空,向文件中写入内容后,再次进行测试。

touch zero.file
[ -z `cat zero.file` ] && echo "yes"
yes
echo "something" > zero.file
[ -z `cat zero.file` ] && echo yes
                                                   //无输出

1.4:逻辑测试:

逻辑测试是指同时使用的两个(或多个)条件表达式之间的关系。用户可以同时测试多个条件,根据这些条件是否同时成立或者只要有其中一个条件成立等情况,来决定采取何种操作。逻辑测试可以使用的操作选项如下。

>  &&:逻辑与,表示前后两个表达式都成立时整个测试结果才为真,否则结果为假。在使用test命令形式进程测试时,此选项可以改为" -a"。

>   ||:逻辑或,表示前后两个条件至少有一个成立时整个测试结果即为真,否则结果为假。在使用test命令形式进行测试时,此选项可以改为"-o“。

>  !:逻辑否,表示当指定的条件表达式不成立时,整个测试命令的结果为真。

在上述逻辑测试的操作选项中,”&&“和”||“通常也用于间隔不同的命令操作,其作用是相似的。同时使用多个逻辑运算操作时,一般安装从左到右的顺序进行测试。

eg:测试当前的用户是否是teacher,若不是则提示”Not teacher“。

echo $USER
root
[ $USER = “teacher” ] || echo "Not teacher"
Not teacher

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读