首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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只是一个空文件而已。

    04
    领券