linux 文件測試與shell循環

條件測試使用方式:express

test expression 或ide

[::expression::] 或測試

[[::expression::]]字符串

說明:it

「test」和」[「 均爲命令,」[[」是關鍵字io

上面的形式中的□爲空格,必須for循環

整數測試class

-eq 等於 [ "$a" -eq "$b" ]test

-ne 不等於 [ "$a" -ne "$b" ]file

-gt 大於 [ "$a" -gt "$b" ]

-ge 大於等於 [ "$a" -ge "$b" ]

-lt 小於 [ "$a" -lt "$b" ]

-le 小於等於 [ "$a" -le "$b" ]

<, <=,>, >= 此些須要在雙括號「(())」中才能使用

(( 「$A」 > 「$B「 ))

字符串測試

= 等於 [ "$a" = "$b" ]

!= 不等於 [ "$a" != "$b" ]

< 小於 [ 「$a」 \&lt; 「$b」 ] ,轉義

> 大於 [[ 「$a」 &gt; 「$b」 ]]

-z 字符串爲"null", 意思就是字符串長度爲零

-n 字符串不爲"null"

文件測試

-f file 測試文件是否爲普通文件

-d dir 存在且爲一個目錄時爲真

-h或-L file 測試文件是否爲符號連接

-r 文件是否具備可讀權限(正在運行此測試命令的用戶)

-w 文件是否具備可寫權限(正在運行此測試命令的用戶)

-x 文件是否具備可執行權限(正在運行此測試命令的用戶)

-e 判斷文件是否存在

-s 判斷文件大小是否爲0,不爲0時返回真

f1 -nt f2 文件f1比文件f2新

f1 -ot f2 文件f1比文件f2舊

f1 -ef f2 文件f1和文件f2是相同文件的硬連接

! "非" -- 反轉上邊全部測試的結果

if循環格式(特別注意if elif 後均須要加then)

if [ condition1 ]

then

command

elif [ condition2 ]

then

command

else

command

fi

for循環

for arg in [list]

do

command

done

while循環 須要注意的是對判斷條件的修改

while [conditions] while在知足condition時執行條件,不知足是不執行do循環

do

command

done

until循環

until [conditions]

until 在不知足conditions條件時,執行循環,不知足不執行都正好與while相反

do

command

done

相關文章
相關標籤/搜索