使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉。其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能。这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下,记录。这篇文章总结的是 shell 脚本的 if 语句的使用。
一、if 语句的基本语法
if [ 条件判断 ]; then
... ...
elif [ 条件判断 ]; elsefi
二、文件/目录的判断
关于文件或目录的相关判断方法:
[ -e file ] 判断文件是否存在
[ -f ] 判断文件是否是普通文件
[ -d ] 判断文件是否是目录文件
[ -b ] 判断文件是否块设备文件
[ -c ] 判断文件是否字符设备文件
[ -s file ] 判断文件是否是非空文件
[ -r ] 判断文件是否可读
[ -w ] 判断文件是否可写
[ -x file ] 判断文件是否可执行
三、数字比较判断
关于针对数字的判断,首先定义a=10,b=8
[root@vip ~]# a=10 b=8
[ $a -eq $b ] 判断 a 是否等于 b
[ $a -ne $b ] 判断 a 是否不等 b
[ $a -gt $b ] 判断 a 是否大于 b
[ $a -ge $b ] 判断 a 是否大等 b
[ $a -lt $b ] 判断 a 是否小于 b
[ $a -le $b ] 判断 a 是否小等 b
四、字符串的判断和比较
关于针对字符串的判断比较,首先定义 str1=abc,str2=abd
[root@vip ~]# str1=abc; str2=abd
[ -z str ] 判断 str 是否长度为0
[ -n str ] 判断 str 是否长度不为0
[ str1 == str2 ] 判断 str1 与 str2 是否相等
[ str1 != str2 ] 判断 str1 与 str2 是否不等
[ str1 \> str2 ] 判断 str1 是否大于 str2
[ str1 \< str2 ] 判断 str1 是否小于 str2
[[ str1 > str2 ]] 判断 str1 是否大于 str2
[[ str1 < str2 ]] 判断 str1 是否小于 str2
五、逻辑判断
[ $a -lt $b -a $str1 == $str2 ] a 大于 b,而且 str1 与 str2 相等 (&&)
[ $a -lt $b -o $str1 == $str2 ] a 大于 b,或者 str1 与 str2 相等 (||)
[[ $a -gt $b && $str1 == $str2 ]] a 大于 b,1)">)
[[ $a -gt $b || $str1 == $str2 ]] a 大于 b,1)">)
[ $a -lt $b ] && [ $str1 == $str2 ] a 大于 b,1)">)
[ $a -lt $b ] || [ $str1 == $str2 ] a 大于 b,或者 str1 与 str2 相等 (||)
六、常用 if 实例
待更新。。。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。