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表示没有错误,其他值都表示有错误 |