结构化命令:
有一类命令会基于变量值或其他命令的结果等条件使脚本跳过或循环执行命令。这样的命令通常称为结构化命令。
结构化命令允许改变程序的执行顺序,在某些条件下执行一些命令而在其他条件下跳过另一些命令。
使用if - then 语句
结构化命令中,最基本的类型就是if-then语句。if-then语句有如下格式:
if command
then commands
if
test命令
test命令可以判断三类条件: 数值比较 字符串比较 文件比较
复合条件测试
布尔逻辑(boolean logic)是一种能够将可能的返回值简化为TRUE或FALSE的方法。
if-then语句允许你使用布尔逻辑来组合测试。有两种布尔运算符可用:
[ condition1 ] && [ condition2 ]
[ condition1 ] || [ condition2 ]
使用双方括号和双括号
双括号命令(( expression ))允许你在比较过程中使用高级数学表达式。test命令只能在比 较中使用简单的算术操作。双括号命令提供了更多的数学符号,并且不需要将双括号 中表达式里的大于号转义。
双方括号命令[[ expression ]]使用了test命令中采用的标准字符串比较,并且提供模式匹配 (pattern matching)
case命令
case命令采用列表格式来检查单个变量的多个值。需要再写出所有的elif语句来不 停地检查同一个变量的值了。