Shell 编程条件判断
1. 按照文件类型进行判断

两种判断格式
方法1:
test -e /root/install.log
方法2:
[-e /root/install.log]
echo $?
第一个判断命令如果正确执行,则打印“yes”,否则打印“no”。
[ -d /root ] && echo "yes" || echo "no"
2. 按照文件权限进行判断

[ -w /root/student.txt ] && echo yes || echo no
只要有一个用户有写权限,则输出yes。
3. 两个文件之间进行比较

硬链接,判断两个文件是否相同可以查看ID号码,如果要系统来判断可以采用如下方法。
创建硬链接
ln /root/student.txt /temp/res.txt
[ /root/student.txt -ef /temp/res.txt ] && echo yes || echo no
4. 两个整数之间比较

[ 23 -gt 22] && echo yes || echo no
5. 字符串的判断

# 给 name 变量赋值
name=sc
# 判断 name 变量是否为空,因为不为空,所以返回no
[ -z "$name"] && echo yes || echo no
给变量 aa 和变量 bb 赋值
aa=11
bb=22
判断两个变量的值是否相等,明显不相等,所以返回 no
[ "$aa"=="bb" ] && echo yes || echo no
> no
注意 [ 和 “ 之间一定要有空格。
6. 多重条件判断

-a 逻辑与
-o 逻辑或
! 逻辑非
判断变量aa是否有值,同时判断变量aa的值是否大于23
因为变量aa的值不大于23,所以虽然第一个判断值为真,返回结果也是假。
aa=11
[ -n "$aa" -a "$aa" -gt 23 ] && echo yes || echo no
> no
本文详细介绍Shell编程中条件判断的多种应用,包括文件类型、权限、文件比较、整数比较、字符串判断及多重条件的组合使用,是Shell脚本学习的重要参考资料。
461

被折叠的 条评论
为什么被折叠?



