常用系统变量
1) $0 当前程式的名称
2) $n 当前程式的第n个参数,n=1,2,…9
3) $* 当前程式的任何参数(不包括程式本身)
4) $# 当前程式的参数个数(不包括程式本身)
5) $$ 当前程式的PID
6) $! 执行上一个指令的PID(似乎不行?)
7) $? 执行上一个指令的返回值
条件判断:expression为字符串操作
1) -n str 字符串str是否不为空
2) -z str 字符串str是否为空
3) str1 =str2 str1是否和str2相同
4) str1!=str2 str1是否和str2不同
条件判断:expression为整数操作
1) expr1 -a expr2 假如 expr1 和 expr2 评估为真,则为真
2) expr1 -o expr2 假如 expr1 或 expr2 评估为真,则为真
条件判断:expression为bool操作
1) int1 -eq int2 假如int1等于int2,则为真
2) int1 -ge int2 假如int1大于或等于int2,则为真
3) int1 -gt int2 假如int1大于int2 ,则为真
4) int1 -le int2 假如int1小于或等于int2 ,则为真
5) int1 -lt int2 假如int1小于int2 ,则为真
6) int1 -ne int2 假如int1不等于int2 ,则为真
条件判断:expression为文档操作
1) -b 是否块文档
2) -p 文档是否为一个命名管道
3) -c 是否字符文档
4) -r 文档是否可读
5) -d 是否一个目录
6) -s 文档的长度是否不为零
7) -e 文档是否存在
8) -S 是否为套接字文档
9) -f 是否普通文档
10) -x 文档是否可执行,则为真
11) -g 是否配置了文档的 SGID 位
12) -u 是否配置了文档的 SUID 位
13) -G 文档是否存在且归该组任何
14) -w 文档是否可写,则为真
15) -k 文档是否配置了的粘贴位
16) -t fd fd 是否是个和终端相连的打开的文档描述符(fd 默认为 1)
17) -O 文档是否存在且归该用户任何