条件语句
条件表达式可以包含&&
和||
运算符,分别对应 与 和 或 。除此之外还有很多有用的。
共有两个不同的条件表达式:if
和case
。
由[[ ]]
(sh
中是[ ]
)包起来的表达式被称作 检测命令 或 基元。这些表达式帮助我们检测一个条件的结果。在下面的表里,为了兼容sh
,我们用的是[ ]
。这里可以找到有关bash中单双中括号区别的答案。
跟文件系统相关:
算数二元运算符:
条件语句可以跟 组合表达式 配合使用:
当然,还有很多有用的基元,在能很容易找到它们。
if
在使用上跟其它语言相同。如果中括号里的表达式为真,那么then
和fi
之间的代码会被执行。fi
标志着条件代码块的结束。
有些时候,if..else
不能满足我们的要求。别忘了if..elif..else
,使用起来也很方便。
看下面的例子:
如果你需要面对很多情况,分别要采取不同的措施,那么使用case
会比嵌套的if
更有用。使用case
来解决复杂的条件判断,看起来像下面这样:
每种情况都是匹配了某个模式的表达式。|
用来分割多个模式,)
用来结束一个模式序列。第一个匹配上的模式对应的命令将会被执行。*
代表任何不匹配以上给定模式的模式。命令块儿之间要用分隔。