$?所有非0的结果都是失败
条件判断:0 :true 非0:faise
test -e 测试目录或文件是否存在
**test -d 测试目录是否存在**
**test -f 测试文件是否存在**
**test -r 测试当前用户是否由读权限**
**test -w 测试当前用户是否有写权限**
**test -x 测试当前用户是否有执行权限**
[root@localhost opt]# test -f /opt/123.
[ -条件表达式 文件路径 ] //常用形式
整数比较的表达式
-eq //等于
-en //不等于
-gt //大于
-lt //小于
-le //小于等于
-ge //大于等于
以上英文格式的整数比较表达式只能用于比较整数
-a或者 && //逻辑且,前后两个条件都要满足
直接引用变量,最好用引号引用起来,特殊符号一般用于比较字符串,比较整数时一般用整数比较表达式
//逻辑或,满足一个条件即可
两个【】需要用 | 如果写在一起则需要用 -a 或者 -o
[[ ]]格式
[] [[]] 都是条件测试语句,都可以判断真假 。在写脚本的过程中一般使用[[]]
[[ ]] // 功能更强,1、可以直接引用变量不需要加引号,不会出现歧义 2、支持模式匹配 3、支持正则表达式
if语句的结构
双分支结构
用户自定义输入,输入 男,进入男生组,女,进入女生组,
嵌套:在多分枝里再加上一条
多分支语句用case更直观