条件判断详解

导读:本篇文章讲解 条件判断详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1 按照文件类型进行判断
我们先来看看test可以进行哪些文件类型的判断:
条件判断详解

条件判断详解 [root@localhost ~]# [ -e /root/sh/ ]
[root@localhost ~]# echo $?
0
#判断结果为0,/root/sh/目录是存在的
[root@localhost ~]# [ -e /root/test ]
[root@localhost ~]# echo $?
1
#在/root/下并没有test文件或目录,所以“$?”的返回值为非零 还记得多命令顺序执行的“&&”和“||”吗?我们可以再判断一下/root/sh/是否是目录:
[root@localhost ~]# [ -d /root/sh ] && echo “yes” || echo “no”
#第一个判断命令如果正确执行,则打印“yes”,否则打印“no”

2 按照文件权限进行判断
test是非常完善的判断命令,还可以判断文件的权
条件判断详解

 [root@localhost ~]# ll student.txt
-rw-r–r–. 1 root root 97 6月 7 07:34 student.txt
[root@localhost ~]# [ -w student.txt ] && echo “yes” || echo “no”
yes
#判断文件是拥有写权限的

3两个文件之间进行比较
通过表12-7来看看如何进行两个文件之间的比较:

条件判断详解

 我们一直很苦恼,到底该如何判断两个文件是否是硬链接呢?这时test就派上用场了:
[root@localhost ~]# ln /root/student.txt /tmp/stu.txt
#创建个硬链接吧
[root@localhost ~]# [ /root/student.txt -ef /tmp/stu.txt ] && echo “yes” || echo “no”
yes
#用test测试下,果然很有用

4 两个整数之间比较
条件判断详解

举个例子:
[root@localhost ~]# [ 23 -ge 22 ] && echo “yes” || echo “no”
yes
#判断23是否大于等于22,当然是了
[root@localhost ~]# [ 23 -le 22 ] && echo “yes” || echo “no”
no
#判断23是否小于等于22,当然不是了 

5 字符串的判断

条件判断详解

 举个例子:
[root@localhost ~]# name=sc
#给name变量赋值
[root@localhost ~]# [ -z “$name” ] && echo “yes” || echo “no”
no
#判断name变量是否为空,因为不为空,所以返回no 再来看看如何判断两个字符串相等:
[root@localhost ~]# aa=11
[root@localhost ~]# bb=22
#给变量aa和变量bb赋值
[root@localhost ~]# [ “$aa” == “bb” ] && echo “yes” || echo “no”
no
#判断两个变量的值是否相等,明显不相等,所以返回no

6 多重条件判断

条件判断详解

举个例子:
[root@localhost ~]# aa=11
#给变量aa赋值
[root@localhost ~]# [ -n “$aa” -a “$aa” -gt 23 ] && echo “yes” || echo “no”
no
#判断变量aa是否有值,同时判断变量aa的是否大于23
#因为变量aa的值不大于23,所以虽然第一个判断值为真,返回的结果也是假
要想让刚刚的判断式返回真,需要给变量aa重新赋个大于23的值:
[root@localhost ~]# aa=24
[root@localhost ~]# [ -n “$aa” -a “$aa” -gt 23 ] && echo “yes” || echo “no”
yes
再来看看逻辑非是什么样子的:
[root@localhost ~]# [ ! -n “$aa” ] && echo “yes” || echo “no”
no
#本来“-n”选项是变量aa不为空,返回值就是真。
#加入!之后,判断值就会取反,所以当变量aa有值时,返回值是假
注意:“!”和“-n”之间必须加入空格,否则会报错的。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71246.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!