shell指令碼 檔案存在性判斷 邏輯與或非

2021-09-29 01:51:46 字數 795 閱讀 8904

引數

說明-e 檔名

如果檔案存在則為真

-r 檔名

如果檔案存在且可讀則為真

-w 檔名

如果檔案存在且可寫則為真

-x 檔名

如果檔案存在且可執行則為真

-s 檔名

如果檔案存在且至少有乙個字元則為真

-d 檔名

如果檔案存在且為目錄則為真

-f 檔名

如果檔案存在且為普通檔案則為真

-c 檔名

如果檔案存在且為字元型特殊檔案則為真

-b 檔名

如果檔案存在且為塊特殊檔案則為真

例項演示:

cd /bin

if test -e ./bash

then

echo '檔案已存在!'

else

echo '檔案不存在!'

fi

輸出結果:

檔案已存在!
另外,shell還提供了與( -a )、或( -o )、非( ! )三個邏輯操作符用於將測試條件連線起來,其優先順序為:"!"最高,"-a"次之,"-o"最低。例如:

cd /bin

if test -e ./notfile -o -e ./bash

then

echo '至少有乙個檔案存在!'

else

echo '兩個檔案都不存在'

fi

輸出結果:

至少有乙個檔案存在!

Shell指令碼判斷檔案是否存在

例項一 bin sh 判斷檔案是否存在 這裡的 x 引數判斷 mypath是否存在並且是否具有可執行許可權 if x mypath then mkdir mypath fi 這裡的 d 引數判斷 mypath是否存在 if d mypath then mkdir mypath fi 這裡的 f引數判...

shell指令碼判斷檔案是否存在

檔案不存在則建立 if d data then mkdir data else echo 資料夾已經存在 fi檔案存在則刪除 if f data filename then echo 檔案不存在 else rm f data filename fi判斷資料夾是否存在 if d data then e...

shell指令碼檔案引數

本文編輯自 當我們我們向 指令碼檔案傳遞引數 可以通過 1,2 等特殊變數。很方便,但是有些限制,就是不能超過9個引數。通過使用 shift getopts 我們能更方便地提取引數。一 shift 通過使用 shift 我們將 shell指令碼檔案 的引數起點從左向右移。在shift命令中可以給乙個...