Linux shell程式設計中的判斷條件

2021-06-19 13:18:08 字數 1676 閱讀 4089

-b file            若檔案存在且是乙個塊特殊檔案,則為真

-c file            若檔案存在且是乙個字元特殊檔案,則為真

-d file            若檔案存在且是乙個目錄,則為真

-e file            若檔案存在,則為真

-f file            若檔案存在且是乙個規則檔案,則為真

-g file            若檔案存在且設定了sgid位的值,則為真

-h file            若檔案存在且為乙個符合鏈結,則為真

-k file            若檔案存在且設定了"sticky"位的值

-p file            若檔案存在且為一已命名管道,則為真

-r file            若檔案存在且可讀,則為真

-s file            若檔案存在且其大小大於零,則為真

-u file            若檔案存在且設定了suid位,則為真

-w file            若檔案存在且可寫,則為真

-x file            若檔案存在且可執行,則為真

-o file            若檔案存在且被有效使用者id所擁有,則為真

-z string          若string長度為0,則為真

-n string          若string長度不為0,則為真

string1 = string2  若兩個字串相等,則為真

string1 != string2 若兩個字串不相等,則為真

int1 -eq int2      若int1等於int2,則為真

int1 -ne int2      若int1不等於int2,則為真

int1 -lt int2      若int1小於int2,則為真

int1 -le int2      若int1小於等於int2,則為真

int1 -gt int2      若int1大於int2,則為真

int1 -ge int2      若int1大於等於int2,則為真

!expr              若expr為假則復合表示式為真。expr可以是任何有效的測試表示式

expr1 -a expr2     若expr1和expr2都為真則整式為真

expr1 -o expr2     若expr1和expr2有乙個為真則整式為真

特殊變數

$0                 正在被執行命令的名字。對於shell指令碼而言,這是被啟用命令的路徑

$n                 該變數與指令碼被啟用時所帶的引數相對應。n是正整數,與引數位置相對應($1,$2…)

$#                 提供指令碼的引數號

$*                 所有這些引數都被雙引號引住。若乙個指令碼接收兩個引數,$*等於$1$2

$@                 所有這些引數都分別被雙引號引住。若乙個指令碼接收到兩個引數,$@等價於$1$2

$?                 前乙個命令執行後的退出狀態

$$                 當前shell的程序號。對於shell指令碼,這是其正在執行時的程序id

$!                 前乙個後台命令的程序號

**:

Linux Shell程式設計中的特殊變數

大家都知道普通的bash命令後邊可以跟任意的引數 例如在啟動hbase的客戶端的時候,我們在hbase的bin目錄下使用.hbase shell進入到hbase的客戶端 那我們自己編寫的指令碼是否也支援傳遞引數呢?答案當然是肯定的,但是怎麼編寫這樣的shell程式呢?這就需要使用到位置引數。位置引數...

linux shell 程式設計

bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...

linux shell 程式設計

1 程式設計入門 shell的簡介。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理...