共计 1725 个字符,预计需要花费 5 分钟才能阅读完成。
同学们,欢迎大家来到 马哥教育官网,今天我们学习 shell 系列 -shell 第十四讲的内容!
1、文件测试
1.1、-e
- e 判断符主要作用判断文件或者目录是否存在,如果存在条件为真,状态返回值为 0,不存在条件为假,状态返回值为 1,比如:
bash [root@master1 ~]#touch /tmp/haha.txt [root@master1 ~]#[-e /tmp/haha.txt] && echo “yes, 存在 ” || echo “no, 不存在 ” yes, 存在 [root@master1 ~]#[-e /tmp] && echo “yes, 存在 ” || echo “no, 不存在 ” yes, 存在 [root@master1 ~]#[-e /tmppp] && echo “yes, 存在 ” || echo “no, 不存在 ” no, 不存在
- e 不仅可以判断文件存在性,还可以判断目录 /tmp 存在性,所以 - e 判断符还是很有帮助的。
1.2、-f
- f 判断符主要作用判断文件存在且为普通文件,条件为真,比如:
bash ~]#[-f /tmp/haha.txt] && echo “yes, 文件存在且为普通文件 ” || echo “no, 文件不存在或者不是普通文件 ” yes, 文件存在且为普通文件 ~]#[-f /tmp] && echo “yes, 文件存在且为普通文件 ” || echo “no, 文件不存在或者不是普通文件 ” no, 文件不存在或者不是普通文件
/tmp 是一个目录,所以这里测试肯定是不存在的。
1.3、-d
- d 判断符主要作用判断目录存在且为普通文件,条件为真,比如:
bash [root@master1 ~]#[-d /tmp] && echo “yes, 目录存在且为目录 ” || echo “no, 目录不存在或者不是目录 ” yes, 目录存在且为目录 [root@master1 ~]#[-d /tmpp] && echo “yes, 目录存在且为目录 ” || echo “no, 目录不存在或者不是目录 ” no, 目录不存在或者不是目录
- d 判断符在 shell 脚本中多用来判断目录是否存在,还是很常用的。
1.4、-r
- r 判断符用来判断文件或者目录是否存在且为可读,比如:
bash [root@master1 ~]#[-r /tmp/haha.txt] && echo “yes, 文件或目录存在且为可读 ” || echo “no, 目录或者文件不存在或者不可读 ” yes, 文件或目录存在且为可读
1.5、-w
- w 判断符用来判断文件或目录是否存在且为可写,比如:
bash [jodan@master1 ~]$ll /tmp/haha.txt ———-. 1 root root 0 Mar 29 15:08 /tmp/haha.txt [jodan@master1 ~]$[-w /tmp/haha.txt] && echo “yes, 文件或目录存在且为可写 ” || echo “no, 目录或者文件不存在或者不可写 ” no, 目录或者文件不存在或者不可写
1.5、-x
- x 判断文件或目录是否存在且有可执行权限,比如:
bash [jodan@master1 ~]$ll /tmp/haha.txt ———-. 1 root root 0 Mar 29 15:08 /tmp/haha.txt [jodan@master1 ~]$[-x /tmp/haha.txt] && echo “yes, 文件或目录存在且有执行权限 ” || echo “no, 目录或者文件不存在或者没有执行权限 ” no, 目录或者文件不存在或者没有执行权限
1.6、-s
- s 判断文件是否存在且大小大于 0,比如:
bash [jodan@master1 ~]$[-s /tmp/haha.txt] && echo “yes, 文件存在且大小不为 0 ” || echo “no, 文件不存在或者大小为 0 ” no, 文件不存在或者大小为 0 [jodan@master1 ~]$echo “1111” > /tmp/haha.txt [jodan@master1 ~]$[-s /tmp/haha.txt] && echo “yes, 文件存在且大小不为 0 ” || echo “no, 文件不存在或者大小为 0 ” yes, 文件存在且大小不为 0
- s 是用来判断文件大小的,只有文件大小不为 0,才为真。我们刚开始创建的 /tmp/haha.txt 只是一个空文件而已。
声明:文章来源于网络,如有侵权请联系删除!