shell中if判断各参数用法

1/17/2023 shell

# 文件表达式

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

# 整数变量表达式

参数 说明
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于

# 字符串变量表达式

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

# 特殊变量

参数 说明
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是1
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的所有参数
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同
$? 上个命令的退出状态,或函数的返回值,0表示没有错误,其他值都表示有错误
Last Updated: 6/1/2024, 6:36:28 AM