shell编程的条件判断

Posted rsyn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程的条件判断相关的知识,希望对你有一定的参考价值。

技术图片

条件判断:

当条件判断的结果为真时$?的值为0,

如果判断的结果为假的则$?的值为非0

test即为判断命令!:

    ]:~$ test a.txt -nt b.txt   判断a.txt是否比b.txt文件新,这种为命令行格式.

但是在编程中常用的格式为:

    ]:~$ [ a.txt -nt b.txt ]   判断的条件与上面是一致的,所以test命令可以基本不用

 

 

文件类型判断
    -e 判断文件是否存在
    -d判断是否为目录文件
    -f判断是否为普通文件
    -L判断是否是连接文件
    -s判断文件内是否有数据

数值大小判断
    -eq判断前面的数值是否等于后面的数值
    -nq判断前面的数值是否不等于后面的数值
    -gt判断前面的数值是否大于后面的数值
    -lt判断前面的数值是否小与后面的数值
    -ge判断前面的数值是否大于等于后面的数值
    -le判断前面的数值是否小于等于后面的数值

文件权限判断
    -r判断文件是否有可读权限,只要ugo任何一个有则为真
    -w判断文件是否有可写权限,只要ugo任何一个有则为真
    -x判断文件是否有可执行权限,只要ugo任何一个有则为真
    -u判断文件是否有suid
    -g判断文件是否有sgid
    -k判断文件是否有sbit

文件的时间比较
    -nt判断前面的文件是否比后面的文件新 new then
    -ot判断前面的文件是否比后面的文件老 old then
    -ef判断前后两个文件是否为硬连接文件

字符串判断
    -z判断字符串是否为空
    -n判断字符串是否有值
    ==判断前面的字符串是否和后面的字符串一致
    !=判断前后两个字符串是否不一致

判断条件叠加
    -a两个条件判断叠加,必须两个条件都判断为真,结果才为真
    -o两个条件判断叠加,任何一个条件判断为真,结果就为真

以上是关于shell编程的条件判断的主要内容,如果未能解决你的问题,请参考以下文章

shell编程中的条件判断(shell 05)

Shell编程条件判断

shell高级编程

shell编程二条件判断

linux shell编程 if判断语句的判定条件

SHELL脚本编程进阶