条件测试
test命令 :成立返回0,不成立返回其他值
test 条件表达式
[ 条件表达式] :至少有一个空格
文件测试
[ 操作符 文件或目录]
常用的测试操作符
-d :测试是否为目录
-e:测试目录或文件是否存在
-f:测试是否为文件
-r:测试当前用户是否有权限读取
-w:测试当前用户是否有权限写入
-x:测试当前用户是否有权限执行
整数比较
格式
[ 整数1 操作符 证书2 ]
常用的测试操作符
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或等于
-ge:大于或等于
字符串
格式
[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
[ -z 字符串 ]
常用的测试操作符
=:字符串内容相同
!=字符串内容不同,!号表示取反的意思
-z:字符串内容为空
逻辑测试
格式
[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2
常用操作符
-a或&& :逻辑与,而且的意思
-o或|| :逻辑或,或者的意思
!:逻辑否
接收用户输入
read -p "请输入" num
#num :变量名
#-p:显示提示输入
if语句
单分支结构
if 语句测试操作
then
fi
双分支语句
if 条件测试操作
then
#命令序列 1
else
#命令序列 2
fi
多分支if语句
if #条件测试操作 1
then
#命令序列 1
elif #条件测试操作 2
then
#命令序列 2
else
#命令序列 3
fi
case语句
case 变量值 in
模式 1)
命令序列 1
;;
模式 2)
命令序列 2
;;
……
* )
默认命令序列
esac