Shell条件语句



条件测试操作

test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ]


文件测试
[ 操作符 文件或目录 ]

常用的测试操作符
·-d:测试是否为目录
·-e:测试目录或文件是否存在
·-f:测试是否为文件
·-r:测试当前用户是否有权限读取
·-w:测试当前用户是否有权限写入
·-x:测试当前用户是否有权限执行


整数值比较
[ 整数1 操作符 整数2 ]

常用的测试操作符
·-eq:等于
·-ne:不等于
·-gt:大于
·-lt:小于
·-le:小于或等于
·-ge:大于或等于


字符串比较
·格式1:[ 字符串1 = 字符串2 ]、[ 字符串1 != 字符串2 ]
·格式2:[ -z 字符串 ]

常用的测试操作符
·=:字符串内容相同
·!=:字符串内容不同,!号表示相反的意思
·-z:字符串内容为空


逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] …
格式2:命令1 操作符 命令2 …

常用的测试操作符
·-a或&&:逻辑与
·-o或||:逻辑或
·!:逻辑非



if语句

单分支结构
if 条件测试操作
then 命令序列
fi
Shell条件语句





双分支结构

if 条件测试操作
then 命令序列1
else 命令序列2
fi
Shell条件语句



多分支结构

if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
Shell条件语句




case多分支结构

case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;

*)
默认命令序列
esac
Shell条件语句






应用示例


单分支if语句
创建目录

1.创建并编写脚本文件。
Shell条件语句
2.赋予脚本执行权限并运行测试。
Shell条件语句
3.查看目录/ddd是否创建成功。
Shell条件语句




双分支if语句
根据IP地址判断主机是否在线

1.创建一个文本文件,写入各个主机的IP地址。
Shell条件语句

2.编写脚本文件,”-c”、”-i”、”-W”选项分别表示只发送三个测试包、间隔0.2秒、超时3秒。通过ping命令的检测结果判断,给出不同的提示信息。
Shell条件语句

3.赋予脚本文件执行权限并运行测试。
Shell条件语句



多分支if语句
判断分数范围,分出“优秀”、“合格”、“不合格”三个等级

1.创建并编写脚本文件。
Shell条件语句
Shell条件语句

2.赋予脚本文件执行权限并运行测试。
Shell条件语句



case语句
根据不同的选项,给出不同的输出结果。根据从键盘输入,判断类型。

1.创建并编写脚本文件。
Shell条件语句

2.赋予脚本文件执行权限并运行测试。
Shell条件语句