本文将整理了一些linux shell 条件判断常用语句,在使用中会经常使用到,需要了解的朋友可以参考下
 
 

常用系统变量 
$0 当前程式的名称 
$n 当前程式的第n个参数,n=1,2,…9 
$* 当前程式的任何参数(不包括程式本身) 
$# 当前程式的参数个数(不包括程式本身) 
$$ 当前程式的PID 
$! 执行上一个指令的PID(似乎不行?) 
$? 执行上一个指令的返回值 

条件判断:expression为字符串操作 
-n str 字符串str是否不为空 
-z str 字符串str是否为空 
str1 =str2 str1是否和str2相同 
str1!=str2 str1是否和str2不同 

条件判断:expression为整数操作 
expr1 -a expr2 假如 expr1 和 expr2 评估为真,则为真 
expr1 -o expr2 假如 expr1 或 expr2 评估为真,则为真 

条件判断:expression为bool操作 
int1 -eq int2 假如int1等于int2,则为真 
int1 -ge int2 假如int1大于或等于int2,则为真 
int1 -gt int2 假如int1大于int2 ,则为真 
int1 -le int2 假如int1小于或等于int2 ,则为真 
int1 -lt int2 假如int1小于int2 ,则为真 
int1 -ne int2 假如int1不等于int2 ,则为真 

条件判断:expression为文档操作 
-b 是否块文档 -p 文档是否为一个命名管道 
-c 是否字符文档 -r 文档是否可读 
-d 是否一个目录 -s 文档的长度是否不为零 
-e 文档是否存在 -S 是否为套接字文档 
-f 是否普通文档 -x 文档是否可执行,则为真 
-g 是否配置了文档的 SGID 位 -u 是否配置了文档的 SUID 位 
-G 文档是否存在且归该组任何 -w 文档是否可写,则为真 
-k 文档是否配置了的粘贴位 -t fd fd 是否是个和终端相连的打开的文档描述符(fd 默认为 1) 
-O 文档是否存在且归该用户任何