shell 逻辑运算符、逻辑表达式详解

逻辑符号

1.关于档案与目录的侦测逻辑卷标!

-f常用!侦测『档案』是否存在 eg: if [ -f filename ]

-d常用!侦测『目录』是否存在

-b侦测是否为一个『 block 档案』

-c侦测是否为一个『 character 档案』

-S侦测是否为一个『 socket 标签档案』

-L侦测是否为一个『 symbolic link 的档案』

-e侦测『某个东西』是否存在!

2.关于程序的逻辑卷标!

-G侦测是否由 GID 所执行的程序所拥有

-O侦测是否由 UID 所执行的程序所拥有

-p侦测是否为程序间传送信息的 name pipe 或是 FIFO (老实说,这个不太懂!)

3.关于档案的属性侦测!

-r侦测是否为可读的属性

-w侦测是否为可以写入的属性

-x侦测是否为可执行的属性

-s侦测是否为『非空白档案』

-u侦测是否具有『 SUID 』的属性

-g侦测是否具有『 SGID 』的属性

-k侦测是否具有『 sticky bit 』的属性

4.两个档案之间的判断与比较 ;例如[ test file1 -nt file2 ]

-nt第一个档案比第二个档案新

-ot第一个档案比第二个档案旧

-ef第一个档案与第二个档案为同一个档案( link 之类的档案)

5.逻辑的『和(and)』『或(or)』

&&逻辑的 AND 的意思

||逻辑的 OR 的意思

运算符号

=等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串

!=不等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串

<小于 应用于:整型比较 在[] 中,不能使用 表示字符串

>大于 应用于:整型比较 在[] 中,不能使用 表示字符串

-eq等于 应用于:整型比较

-ne不等于 应用于:整型比较

-lt小于 应用于:整型比较

-gt大于 应用于:整型比较

-le小于或等于 应用于:整型比较

-ge大于或等于 应用于:整型比较

-a双方都成立(and) 逻辑表达式 –a 逻辑表达式

-o单方成立(or) 逻辑表达式 –o 逻辑表达式

-z空字符串

-n非空字符串



本文转自 Linux_woniu 51CTO博客,原文链接:http://blog.51cto.com/linuxcgi/1965332

上一篇:常量强制数据类型转化


下一篇:数据规划是运营体系的基础