test命令只能在比較中使用簡單的算術(shù)操作具有很大的局限性晨继,雙括號命令為我們提供了更多的數(shù)學(xué)符號。雙括號命令允許你在比較過程中使用更高級的數(shù)學(xué)表達(dá)式臣缀。
使用雙括號
使用格式((expression))
,expression可以是任意的數(shù)學(xué)賦值或者比較表達(dá)式瞭亮,除了test命令使用的標(biāo)準(zhǔn)數(shù)學(xué)運(yùn)算符家乘,還支持一下運(yùn)算符蝗羊。
符號 | 描述 |
---|---|
val++ | 后增 |
val-- | 后減 |
++valu | 先增 |
--val | 先減 |
! | 邏輯非 |
~ | 位求反 |
** | 冪運(yùn)算 |
<< | 位左移 |
>> | 位右移 |
& | 位布爾與 |
| | 位布爾或 |
&& | 邏輯與 |
|| | 邏輯或 |
使用雙方括號
雙方括號命令提供了針對字符串比較的高級特性,此特性在test中并不存在-模式匹配
注意:雙方括號在bash shell中工作良好仁锯,但要注意的是并不是在所有的shell中都支持耀找。
使用格式[[expression]]
case命令
#! /bin/bash
case varible in
pattern1)
commands1;;
pattern2)
commands2;;
*)
default;;
esac
注意:在每個(gè)命令結(jié)束后是兩個(gè)分號