bash 条件表达式

条件表达式是由[[复合命令以及test和[内建命令来测试文件属性,进行字符串和算术比较使用。表达式从以下一元或二进制初选形成。如果有任何文件参数初选之一,是格式为/ dev/ FD/ N,则文件描述符n进行检查。如果文件参数初选之一,/dev/stdin, /dev/stdout, or /dev/stderr,文件描述符0,1,w2

当与[,<和>运算符字典顺序排序使用当前语言环境中使用。 ASCII顺序测试命令排序。
-a file
如果文件存在则为真。
-b file
若果文件存在并且是一块特殊文件描述符
-c file
如果文件存在并且是字符设备则为真。
-d file
如果文件存在并且为文件夹为真。
-e file
如果文件存在则真。
-f file
如果文件存在且是一个普通文件为。
-g file
如果文件存在并且被设置为组id则为真
-h file
如果文件存在并且为符号链接则为真。
-k file
真如果文件存在和它的“粘性’位。
-p file
如果文件存在并且为管道则为真。
-r file
如果文件存在并且为可读文件则为真。
-s file
如果文件存在并且文件大小不为0则为真。
-t fd
如果文件描述符fd是打开的,指的是一个终端则为真。
-u file
如果文件存在并且欸被设为用户id为,则为真。
-w file
如果文件存在并且为可写则为真。
-x file
如果文件存在并且为可执行则为真。
-G file
如果文件存在且被有效组ID所拥有,则为真。
-L file
如果文件存在并且为符号链接则为真。
-N file
如果文件存在,并且已被修改,因为这是最后一次读取,则为真。
-O file
如果文件存在且被有效用户ID所拥有则真。
-S file
如果文件存在并且为套接字则为真。
file1 -ef file2
如果file1和file2指的是相同的设备和inode号。
file1 -nt file2
file1比file2新,或者file1存在file2不存在则为真。
file1 -ot file2
如果file1比file2旧,或file2存在flie1不存在。
-o optname
如果参数是有效的,则为真。
-v varname
如果变量被设置则为真。
-R varname
如果变量被设置并且为名字提及。
-z string
如果变量长度为0则为真。
string
-n string
字符长度部位0则为真。
string1 == string2
string1 = string2
如果string1等于string2则为真
string1 != string2
如果string1 不等于string2则为真。
string1 < string2
如果string1排列顺序比string2排列顺序靠前则为真
string1 > string2
如果string1排列顺序比string2排序顺序靠后则为真。
arg1 OP arg2
OP 为-eq, -ne, -lt, -le, -gt, or -ge其中一个。 如果Arg1等于,不等于,小于,小于或这些算术二元运算符返回true
              等于,大于,或者大于或等于ARG2,分别。 ARG1和ARG2可以是正或负整数。

你可能感兴趣的:(Linux:shell脚本语言)