$# 是傳給指令碼的引數個數
$0 是指令碼本身的名字
$1 是傳遞給該shell指令碼的第乙個引數
$2 是傳遞給該shell指令碼的第二個引數
$@ 是傳給指令碼的所有引數的列表
$* 是以乙個單字串顯示所有向指令碼傳遞的引數,與位置變數不同,引數可超過9個
$$ 是指令碼執行的當前程序id號
$? 是顯示最後命令的退出狀態,0表示沒有錯誤,其他表示有錯誤
# 檔案判斷
-r file 使用者可讀為真
-w file 使用者可寫為真
-x file 使用者可執行為真
-f file 檔案為正規檔案為真
-d file 檔案為目錄為真
-c file 檔案為字元特殊檔案為真
-b file 檔案為塊特殊檔案為真
-s file 檔案大小非0時為真
-t file 當檔案描述符(預設為1)指定的裝置為終端時為真
# 邏輯比較符,寫在括號內
-a 與(and)
-o 或(or)
! 非
# 例: if [ "$a" -eq 1 -o "$b" -eq 2 ] && [ "$c" -eq 3 ]; then
-eq 等於 如:if [ "$a" -eq "$b" ]
-ne 不等於 如:if [ "$a" -ne "$b" ]
-gt 大於 如:if [ "$a" -gt "$b" ]
-ge 大於等於 如:if [ "$a" -ge "$b" ]
-lt 小於 如:if [ "$a" -lt "$b" ]
-le 小於等於 如:if [ "$a" -le "$b" ]
> 大於(需要雙括號) 如:if(("$a" > "$b"))
>= 大於等於,需要雙括號 如:if(("$a" >= "$b"))
<= 小於等於,需要雙括號 如:if(("$a" >= "$b"))
複雜判斷示例1:= 等於,如:if [ "$a" = "$b" ]
== 等於,如:if [ "$a" == "$b" ],與=等價
複雜判斷示例2:#!/bin/bash
a=10
b=20
if [ $a -lt $b ] && [ $a -eq 11 ]
then
echo "小於20"
fi# 結果:小於20
複雜判斷示例3:#!/bin/bash
a=0b=0
c=5if [ $a = 0 -a $b = 0 ] && [ $c != 0 ]; then
echo "success"
fi# 結果:success
#!/bin/bash
a=0b=0
c=5if [ $a -eq 0 -a $b -eq 0 ] && (($c >= 5)); then
echo "success"
fi# 結果:success
Linux shell if判斷語句
無論什麼程式語言都離不開條件語句.html target self 判斷。shell也不例外。大體的格式如下 if list then do something here elif list then do another thing here else do something else here...
linux shell if和case和for語句
linux shell if和case和for語句 bin bash for i 1 i 15 i do for和 以及 和 之間可以有空格也可以沒有空格 if i le 10 then 第乙個 中括號 和if及 i之間都必須有空格,10和第二個 中括號 之間必須有空格,但是 中括號 和 之間的空格...
常成員,常函式,常物件
知識點1.常物件中的任何型別的資料成員 無論私有還是公有 的值都不能被改變。知識點2.常物件能呼叫的 1.公有的常成員函式 2.建構函式 3.公有的靜態函式 知識點3.常物件與常成員函式只有同時存在才都有意義 知識點4.普通物件既可以呼叫常成員函式,也可以呼叫非常成員函式 知識點5.常成員函式不能更...