1. 程式人生 > >linux 中的shell while/until迴圈及數字的對比

linux 中的shell while/until迴圈及數字的對比

shell中的數字對比問題,如果想對數字進行對比,我現在只知道兩個方法,一個是((這裡寫表示式)),另一個是[ 這裡寫表示式 ],在(())與[]寫表示式是有很大區別的。
1、在(())中寫表示式可以直接寫 == ,>,>=,<,<=
2、在[]中的表示式需要寫麼寫 -eq(對應==),-gt(對應>),-ge(對應>=),-lt(對應<),-le(對應<=)

while (()) 示例:

#!/bin/bash
# Program
# This is a test file

#這裡定義變數時,中間不能有空格
num=10

#while迴圈,當num >= 5時,一直迴圈下去
while(($num >= 5));do #輸出當前num的值 echo $num #把num的值減一,這裡也可以替換為((num--))達到相同的效果 let num-- #本次迴圈結束 done;

結果如下:

這裡寫圖片描述

until的迴圈跟while的迴圈理念可以相反的,while是條件成立就會執行,而until是條件成立就終止迴圈

#!/bin/bash
# Program
# This is a test file

#這裡定義變數時,中間不能有空格
num=10

#util迴圈,當num <= 5時(這裡注意,【】中的任意一個變數都必須以空格分開,否則會報錯),終止迴圈,否則一直迴圈下去
util [ $num -le 5 ];do #輸出當前num的值 echo $num #把num的值減一,這裡也可以替換為((num--))達到相同的效果 let num-- #本次迴圈結束 done;

執行結果如下

這裡寫圖片描述