shell脚本中-eq、-ne、-gt、-ge、-lt、-le

1、文件表达式

序号 参数 说明
1 -e filename  如果 filename存在,则为真
2 -d filename 如果 filename为目录,则为真
3 -f filename 如果 filename为常规文件,则为真
4 -L filename 如果 filename为符号链接,则为真
5 -r filename 如果 filename可读,则为真
6 -w filename 如果 filename可写,则为真
7 -x filename 如果 filename可执行,则为真
8 -s filename 如果文件长度不为0,则为真
9 -h filename 如果文件是软链接,则为真
10 filename1 -nt filename2 如果 filename1比 filename2新,则为真
11 filename1 -ot filename2 如果 filename1比 filename2旧,则为真


 

2、整数变量表达式

 

序号 参数 说明
1 -eq 等于
2 -ne  不等于
3 -gt  大于
4 -ge 大于等于
5 -lt  小于
6 -le 小于等于


 

3、字符串变量表达式

序号 参数 说明
1 $a = $b 如果string1等于string2,则为真
2 $string1 !=  $string2 如果string1不等于string2,则为真
3 -n $string 如果string 非空(非0),返回0(true)
4 -z $string 如果string 为空,则为真
5 $string 如果string 非空,返回0 (和-n类似)
6 ! 表达式 条件表达式的相反[逻辑非]
7 表达式1  –a  表达式2 条件表达式的并列[逻辑与]
8 表达式1  –o 表达式2 条件表达式的或[逻辑或]

        样例:

                [ -z "$pid" ] 单对中括号变量必须要加双引号

                [[ -z $pid ]] 双对括号,变量不用加双引号

4、特殊变量

序号 参数 说明
1 $0 当前脚本的文件名
2 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是1
3 $# 传递给脚本或函数的参数个数
4 $* 传递给脚本或函数的所有参数
5 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同
6 $? 上个命令的退出状态,或函数的返回值
7 $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID
8 $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)

参考:Linux的shell中 if 的-e,-d,-f的说明

你可能感兴趣的:(shell脚本,bash,开发语言)