shell-09 比較和測試:

比較實例:

image.png
比較實例:
如果test命令或者【】的表達式為真却紧,才會執(zhí)行其他操作
if[ "$string" = "some_string" ];then…
if [ $integer -eq 15 ];then…
if test $string = "some_string";then…

只有test結果為真,測試條件邏輯與才會執(zhí)行其他代碼
test $debug -eq 1 && echo some_debug_output

只有test結果為假幅疼,測試條件邏輯或才會執(zhí)行其他代碼
test $debug -eq 1 ||echo some_debug_output

加長版(加上{}成為組合命令):
test $debug -eq 1 && {
           echo some_debug_output
           echo some_more_debug_outbug
}
[ $debug -eq 1 ] && {
           echo some_debug_output
           echo some_more_debug_outbug
}

第一個滿足執(zhí)行第二個然后依次執(zhí)行:
[ "$txt" ] && [ "$txt" != "$txt2" ] && some_text="$txt $txt2"

只要滿足一個就成立仍稀,或者全部滿足才成立:
if [ "$txt" != "$txt2" -a $num -eq $num2 ] || [ $num2 -eq 100 ];then…
其中-a是and证芭,-o是or的意思

判斷的格式:
if [ $answer = Y ]
在=號兩邊最好有空格,而且 [  ] 中有空格
test $debug -gt 0 && echo "Debug is on"
-gt可被就斤,eq唁毒,lt,等替代骡显。
test 命令可以用“[”該符號代替疆栏;
字符判斷:

數(shù)字判斷:

文件判斷:

邏輯表達式判斷:

包含了小數(shù)的比較測試:

image.png
需求:寫個調度器需要對小數(shù)之間進行大小比較,經(jīng)查詢shell中 可以用 bc 對小數(shù)進行運算
example:
#echo 5.5+1.1 | bc
6.6
具體情況#man bc
然而對小數(shù)進行比較的相關方法有幾個:
1. 自己的解決方法惫谤,判斷小數(shù)點后最多有幾位數(shù)(N)壁顶,然后對將要比較的兩個數(shù)值進行 乘與10的N次方
也就是將小數(shù)點去掉來進行比較(小數(shù)點后位數(shù)多的直接去掉小數(shù)點,少的用0補齊)
example:
6.6 x 10 >5.5x10   66>55
6.6666 x 10000 > 5.5 x10000    66666>55000
提示:使用 num=6.6666;echo $num | awk 'BEGIN{FS="."}{print length($2)}'判斷小數(shù)點后的位數(shù)
當然溜歪,如果你確定小數(shù)點后最多肯定不會超過4位你可直接去掉10000若专,類推。蝴猪。
2. 直接用awk
awk -v num1=6.6 -v num2=5.5 'BEGIN{print(num1>num2)?"0":"1"}'
如果num1>num2打印輸出0调衰,否則輸出1
3.expr
比較妙的方法 expr $a \> $b
返回1表示$a>$b, 0表示$a<$b
# a=6.6 b=5.5;expr $a \> $b
1
4. br
用br其實也是可以實現(xiàn)
echo "6.6>5.5" |br
1
echo "5.5>6.6" | br
0

云平臺開發(fā)運維解決方案@george.sre

個人主頁:https://geekgoogle.com

GitHub: https://github.com/george-sre

Mail: george.sre@hotmail.com

簡書: georgesre - 簡書

歡迎交流~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末膊爪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嚎莉,更是在濱河造成了極大的恐慌米酬,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趋箩,死亡現(xiàn)場離奇詭異赃额,居然都是意外死亡,警方通過查閱死者的電腦和手機叫确,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門跳芳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竹勉,你說我怎么就攤上這事筛严。” “怎么了饶米?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵桨啃,是天一觀的道長。 經(jīng)常有香客問我檬输,道長照瘾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任丧慈,我火速辦了婚禮析命,結果婚禮上,老公的妹妹穿的比我還像新娘逃默。我一直安慰自己鹃愤,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布完域。 她就那樣靜靜地躺著软吐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吟税。 梳的紋絲不亂的頭發(fā)上凹耙,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音肠仪,去河邊找鬼肖抱。 笑死,一個胖子當著我的面吹牛异旧,可吹牛的內容都是我干的意述。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼荤崇!你這毒婦竟也來了镐依?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤天试,失蹤者是張志新(化名)和其女友劉穎槐壳,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喜每,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡务唐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了带兜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枫笛。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖刚照,靈堂內的尸體忽然破棺而出刑巧,到底是詐尸還是另有隱情,我是刑警寧澤无畔,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布啊楚,位于F島的核電站,受9級特大地震影響浑彰,放射性物質發(fā)生泄漏恭理。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一郭变、第九天 我趴在偏房一處隱蔽的房頂上張望颜价。 院中可真熱鬧,春花似錦诉濒、人聲如沸周伦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽专挪。三九已至,卻和暖如春茄猫,著一層夾襖步出監(jiān)牢的瞬間狈蚤,已是汗流浹背困肩。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工划纽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锌畸。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓勇劣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子比默,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353