對於多資料處理,條件判斷和迴圈是常用的。下面簡單列出基本用法。
比較運算子:
-eq :等於
-ne :不等於
-gt :大於
-ge :大於等於
-lt :小於
-le :小於等於
-contains :包含
-notcontains :不包含
布林運算子:
-and :和
-or :或
-xor :異或
-not :逆
!($var)
布林運算:
陣列運算:
更多參考:chapter 7. conditions
operator
conventional
description
example
result
-eq, -ceq, -ieq =
equals
10 -eq 15
$false
-ne, -cne, -ine
<>
not equal
10 -ne 15
$true
-gt, -cgt, -igt
>
greater than
10 -gt 15
$false
-ge, -cge, -ige
>=
greater than or equal to
10 -ge 15
$false
-lt, -clt, -ilt
less than
10 -lt 15
$true
-le, -cle, -ile
<=
less than or equal to
10 -le 15
$true
-contains,
-ccontains,
-icontains
contains
1,2,3 -contains 1
$true
-notcontains,
-cnotcontains,
-inotcontains
does not contain
1,2,3 -notcontains 1
$false
operator
description
left value
right value
result
-and
both conditions must be met
true
false
false
true
false
true
false
true
false
false
false
true
-orat least one of the two conditions must be met
true
false
false
true
false
true
false
true
true
true
false
true
-xor
one or the other condition must be met, but not both
true
false
false
true
true
false
true
false
false
false
true
true
-not
reverses the result
true
false
false
true
if/else 條件判斷語句:
switch 條件判斷語句:
#一般執行語法
$a=10
switch($a)
2 3
default
}#多個符合的條件都執行
foreach-object 逐項處理資料:
#逐項輸出服務項
get-service | foreach-object
#逐項檢視服務中列 name ,如包含「sql」字串,則輸出服務中的列 displayname
get-service | foreach-object}
#輸出當前目錄下最近一天更改過的檔案
get-childitem | foreach-object}
foreach 迴圈語句 :
do while 迴圈語句 / while 迴圈語句 / for 迴圈語句 :
#do while 迴圈語句
$n=1
do while( $n -le 10); $sum2
#while 迴圈語句
$n=1
while($n -le 10) ; $sum3
#for 迴圈語句
Shell指令碼IF條件判斷和判斷條件總結
前言 無論什麼程式語言都離不開條件判斷。shell也不例外。如下 if list then do something here elif list then do another thing here else do something else here fiex1 bin sh system u...
Shell指令碼IF條件判斷和判斷條件總結
自 前言 無論什麼程式語言都離不開條件判斷。shell也不例外。if list then dosomething here elif list then doanother thing here else dosomething else here fi ex1 bin sh system unam...
Shell指令碼IF條件判斷和判斷條件總結
前言 無論什麼程式語言都離不開條件判斷。shell也不例外。if list then do something here elif list then do another thing here else do something else here fi ex1 bin sh system una...