Linux---shell条件语句及测试
Shell------条件语句及测试
一.文件测试
1.常用的测试操作符:
-d:测试是否为目录(directory)
-f:测试是否为文件(file)
-e:测试目录或者文件是否存在(exist)
-r:测试当前用户是否由权限读取(read)
-w:测试当前用户是否由权限写入(write)
-x:测试当前用户是否有权限执行(excute)
test命令测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值
2.文件测试的两种书写方式:
test 操作符 文件或目录
[ 操作符 文件或目录 ]
3.实例:
二.数值比较
常用的测试操作符:
-eq:等于(equal)
-ne:不等于(not equal)
-gt:大于(greater than)
-lt:小于(lesser or equal)
-le:小于或等于(lesser or equal)
-ge:大于或等于(greater or equal)
三.字符串比较:
1.常用的测试操作符:
=:字符串内容相同
!=:字符串内容不同
-z:字符串内容为空
2.使用格式:
[ 字符串1 = 字符串2 ] ;[ 字符串1 = 字符串2 ];[ -z 字符串 ]
3.使用脚本创建目录:
4.“i++“与”++i”,let命令:
i=i++,是先赋值,再计算
i=++i,是先计算,再赋值
四.逻辑测试
常用的测试操作符:
-a或&&:逻辑与,而且
-o或||:逻辑或,或者
!:逻辑否
使用格式为:
[ 表达式1 ] 操作符 [ 表达式2 ];命令1 操作符 命令2
五.if语句的结构
单分支结构:
if 条件测试操作
then
命令序列
fi
双分支结构:
if 条件测试操作
then
命令序列1
else
命令序列2
fi
多分支结构:
if 条件测试操作1
then
命令序列1
elif 条件测试操作2
then
命令序列2
else
命令序列3
fi
多分支嵌套结构:
实例:计算器脚本:
read -p “请输入第一个整数:” nb1
read -p “请输入运算方式:加(+),减(-),乘(x),除(/),余数(%):” fuhao
read -p “请输入第二个整数:” nb2
if [ $fuhao = “+” ]
then
number=expr $nb1 + $nb2
echo "结果:$number "
elif [ $fuhao = “-” ]
then
number=expr $nb1 - $nb2
echo "结果:$number "
elif [ $fuhao = “x” ]
then
number=expr $nb1 \* $nb2
echo "结果:$number "
elif [ $fuhao = “/” ]
then
number=expr $nb1 / $nb2
echo "结果:$number "
elif [ $fuhao = “%” ]
then
number=expr $nb1 % $nb2
echo "结果:$number "
else "输入错误 "
fi