shell條件測試可以通過以下兩種方式:
test 引數 測試內容
[ 引數 測試內容 ]
一、測試檔案型別:
test -e 檔名 (測試檔案是否存在)
[ -e 檔名 ] 測試檔案是否存在,注意中括號兩邊的空格
test -f 檔名 判斷是否為普通檔案
test -d 檔名 判斷是否為目錄
test -b 檔名 判斷是否為塊裝置檔案
test -c 檔名 判斷是否為字元裝置檔案
二、測試檔案許可權:
test -r 檔名 判斷檔案是否又讀許可權
test -w 檔名 判斷檔案是否又寫許可權
test -x 檔名 判斷檔案是否有執行許可權
test -s 檔名 判斷檔案是否為非空白,有內容為真
三、兩個檔案比較:
[ file1 -nt file2 ] file1是否比file2更新
[ file1 -ot file2 ] file1是否比file2舊
[ file1 -et file2 ] fie1與file2是否是鏈結檔案
四、兩個陣列之間判斷:
[ n1 eq n2 ] n1和n2是否相等
[ n1 ne n2 ] n1和n2是否不等
[ n1 gt n2 ] n1是否大於n2
[ n1 lt n2 ] n1是否小於n2
[ n1 ge n2 ] n1大於等於n2
[ n1 le n2 ] n1小於等於n2
五、字串判斷:
[ -z 字串 ] 判斷字串是否為空
[ 字串1 == 字串2] 判斷字串1是否等於字串2
[ 字串1 != 字串2] 判斷字串1是否不等於字串2
六、乙個簡單案例:
#!/bin/bashread -p "
please input a dir:
"dir
if [ ! -e $dir
]then
echo
"filename is not exist
"exit 1fi
if [ ! -d $dir
]then
echo
"please input a dir
"exit 1fi
if [ -e $dir
]then
for i in $(ls $dir
)
doecho
$i
done
fi
shell 條件測試 test
shell環境根據命令執行後的返回狀態值 來判斷是否執行成功,當返回值為0時表示成功,否則 非0值 表示失敗或異常。使用專門的測試工具test命令,可對條件進行測試,並根據返回值來判斷條件是否成立 返回值為0表示成立 使用test測試命令時 使用格式 檔案測試 檔案測試指的是根據給定的路徑名稱,判斷...
shell 條件測試語句 test
shell環境根據命令執行後的返回狀態值 來判斷是否執行成功,當返回值為0時表示成功,否則 非0值 表示失敗或異常。使用專門的測試工具test命令,可對條件進行測試,並根據返回值來判斷條件是否成立 返回值為0表示成立 使用test測試命令時 這兩種方式作用完全相同,但是通常使用後者。根據要測試的條件...
Shell 條件測試(test)基礎語法
條件測試的語法有兩種 test 條件表示式 或 條件表示式 注意 中括號 與條件表示式之間一定要有空格,不然會報錯 字串運算子 運算子說明string 判斷指定的字元是否為空串 string1 string2 判斷兩個字串string1和string2是否相等 string1 string2 判斷兩...