Linux命令学习Shell脚本之if-then的高级特性

2018-10-24  本文已影响0人  年少时难免轻狂Ho

test命令只能在比较中使用简单的算术操作具有很大的局限性,双括号命令为我们提供了更多的数学符号。双括号命令允许你在比较过程中使用更高级的数学表达式。

使用双括号

使用格式((expression)),expression可以是任意的数学赋值或者比较表达式,除了test命令使用的标准数学运算符,还支持一下运算符。

符号 描述
val++ 后增
val-- 后减
++valu 先增
--val 先减
! 逻辑非
~ 位求反
** 幂运算
<< 位左移
>> 位右移
& 位布尔与
| 位布尔或
&& 逻辑与
|| 逻辑或

使用双方括号

双方括号命令提供了针对字符串比较的高级特性,此特性在test中并不存在-模式匹配
注意:双方括号在bash shell中工作良好,但要注意的是并不是在所有的shell中都支持。
使用格式[[expression]]

case命令

#! /bin/bash
case varible in 
pattern1)
    commands1;;
pattern2)
    commands2;;
*)
    default;;
esac 

注意:在每个命令结束后是两个分号

上一篇 下一篇

猜你喜欢

热点阅读