一、条件判断分五个部分讲解
1、按照文件类型进行判断,2、按照文件权限进行判断,3、两个文件之间的比较,4、两个整数之间的比较,5、字符串的判断。
二、条件判断
①、按照文件类型进行判断。
【1】-b 【文件】,功能:判断文件是否存在,并且是否为块设备文件,如果是块设备文件则为真,反之为假。
【2】-c 【文件】,功能:判断文件是否存在,并且是否为字符设备文件,如果是字符设备文件则为真,反之为假。
【3】-d 【文件】,功能:判断文件是否存在,并且是否为目录文件,如果是目录文件则为真,反之为假。(常用)
【4】-e 【文件】,功能:判断文件是否存在,如果文件存在则为真,反之为假。(常用)
【5】-f 【文件】,功能:判断文件是否存在,并且是否为普通文件,如果是普通文件则为真,反之为假。(常用)
【6】-L 【文件】,功能:判断文件是否存在,并且是否为符号链接文件,如果是符号链接文件则为真,反之为假。
【7】-p 【文件】,功能:判断文件是否存在,并且是否为管道文件,如果是管道文件则为真,反之为假。
【8】-s 【文件】,功能:判断文件是否存在,并且是否为非空文件(文件里面有内容),如果是非空文件则为真,反之为假。(常用)
【9】-S 【文件】,功能:判断文件是否存在,并且是否为套接字文件,如果是套接字文件则为真,反之为假。
注意:一共有两种判断格式:
①、test -e /root &&echo ‘yes’ || echo 'no’
②、 [ -e /root ] &&echo ‘yes’ || echo 'no’
根据个人习惯选择其中一个吧!
②、按照文件权限进行判断。
【1】-r 【文件】,功能:判断文件是否存在,并且是否拥有读权限,如果拥有读权限则为真,反之为假。
【2】-w 【文件】,功能:判断文件是否存在,并且是否拥有写权限,如果拥有写权限则为真,反之为假。
【3】-x 【文件】,功能:判断文件是否存在,并且是否拥有执行权限,如果拥有执行权限则为真,反之为假。
【4】-u 【文件】,功能:判断文件是否存在,并且是否拥有SUID权限,如果拥有SUID权限则为真,反之为假。
【5】-g 【文件】,功能:判断文件是否存在,并且是否拥有SGID权限,如果拥有SGID权限则为真,反之为假。
【6】-k 【文件】,功能:判断文件是否存在,并且是否拥有SBit权限,如果拥有SBit权限则为真,反之为假。
③、两个文件之间的比较。
【1】文件1 -nt 文件2,功能:判断文件一的修改时间是否比文件2 的新,是则为真,反之则为假。
【2】文件1 -ot 文件2,功能:判断文件一的修改时间是否比文件2 的旧,是则为真,反之则为假。
【3】文件1 -ef 文件2,功能:判断文件一和文件2是否为同一个文件,是则为真,反之则为假。(这个用来判断硬链接)。
④、两个整数之间的比较。
【1】整数1 -eq 整数2,功能:判断整数1是否和整数2 相等,是则为真,反之则为假。
【2】整数1 -ne 整数2,功能:判断整数1是否和整数2 不相等,是则为真,反之则为假。
【3】整数1 -gt 整数2,功能:判断整数1是否大于整数2 ,是则为真,反之则为假。
【4】整数1 -lt 整数2,功能:判断整数1是否小于整数2 ,是则为真,反之则为假。
【5】整数1 -ge 整数2,功能:判断整数1是否大于等于整数2 ,是则为真,反之则为假。
【6】整数1 -le 整数2,功能:判断整数1是否小于等于整数2,是则为真,反之则为假。
⑤、字符串的判断。
【1】-z [字符串],功能:判断字符串是否为空,是则为真,反之则为假。
【2】-n [字符串],功能:判断字符串是否为非空,是则为真,反之则为假。
【3】字符串1 == 字符串2 , 功能:判断字符串1 和字符串2 是否相等,是则为真,反之则为假。
【3】 字符串1 != 字符串2, 功能:判断字符串1 和字符串2 是否不相等,是则为真,反之则为假。
三、总结
这篇博客主要是讲解以下条件判断的一些常用命令,命令还是比较多,所以单独拿出来介绍,总之,想要真正掌握并且熟悉这些命令的话,还是得多多练习,在实践中去掌握比较好,也比快。