邏輯卷標 |
表示意思 |
1. |
關於檔案與目錄的偵測邏輯卷標!
|
-f
|
常用!偵測『檔案』是否存在 eg: if [ -f filename ]
|
-d |
常用!偵測『目錄』是否存在
|
-b
|
偵測是否爲一個『 block 檔案
』
|
-c
|
偵測是否爲一個『 character 檔案
』
|
-S |
偵測是否爲一個『 socket 標籤檔案
』 |
-L |
偵測是否爲一個『 symbolic link 的檔案
』 |
-e |
偵測『某個東西
』是否存在! |
2. |
關於程序的邏輯卷標!
|
-G |
偵測是否由 GID 所執行的程序所擁有 |
-O |
偵測是否由 UID 所執行的程序所擁有 |
-p |
偵測是否爲程序間傳送信息的 name pipe 或是 FIFO (老實說,這個不太懂!) |
3. |
關於檔案的屬性偵測!
|
-r |
偵測是否爲可讀
的屬性 |
-w |
偵測是否爲可以寫入
的屬性 |
-x |
偵測是否爲可執行
的屬性 |
-s |
偵測是否爲『非空白檔案
』 |
-u |
偵測是否具有『 SUID
』的屬性 |
-g |
偵測是否具有『 SGID
』的屬性 |
-k |
偵測是否具有『 sticky bit
』的屬性 |
4. |
兩個檔案之間的判斷與比較 ;例如『 test file1 -nt file2
』
|
-nt |
第一個檔案比第二個檔案新 |
-ot |
第一個檔案比第二個檔案舊 |
-ef |
第一個檔案與第二個檔案爲同一個檔案( link 之類的檔案) |
5. |
邏輯的『和(and)』『或(or)』
|
&&
|
邏輯的 AND 的意思
|
||
|
邏輯的 OR 的意思
|
比較有趣的應該算是 1, 3 這兩種種類的判斷,尤其是在建立一些 permission 相關的檔案時,這個就更重要了!然後那個『兩個檔案之間的判斷
』也是挺有意思的!有空的話不妨去試一試去!還有,那個 &&
及 ||
這兩個東西也是很重要的!接着下來,我們要來談一談運算符號囉!
-
運算符號簡介:
在 bash shell scripts 的運算符號的加減乘除是怎樣的一回事呀!?談一談吧!
運算符號 |
代表意義 |
=
|
等於
|
!=
|
不等於
|
<
|
小於
|
>
|
大於
|
-eq
|
等於
|
-ne
|
不等於
|
-lt
|
小於
|
-gt
|
大於
|
-le
|
小於或等於
|
-ge
|
大於或等於
|
-a
|
雙方都成立(and)
|
-o
|
單方成立(or)
|
-z
|
空字符串
|
-n
|
非空字符串
|
From 鳥哥私房菜