這個case是寫一個.sh檔,跑了以後會去找test.txt檔案
在sh 指令中,跑完指令系統回傳0 代表成功, 回傳1代表失敗
我想要做一個find 檔案,有找到就回傳1: 失敗, 沒找到就回傳0: 成功
此為程式碼
判斷有無找到檔案
file=$(find ./ -name 'DEFAULT') if [ -f "$file" ]; then echo Please Delete {$file} exit 1 else exit 0 fi
由於標題是寫根據字串長度
這邊有使用數字串的方法
(也是我剛開始笨笨的想說用數得去判斷有沒有找到檔案xD)
count=$(find ./ -name 'test.txt') if [ ${#count} -gt 0 ]; then echo Please Delete {$count} exit 1 else exit 0 fi
雖然功用不是這樣,帶我運用了去數回傳回來的答案的字串長度來判斷他是否有傳東西回來
我想用 return 0, return 1來回傳狀態,但會有個警告
大意是說: return 要使用於函數內
所以正確的方法是用 exit 0, exit 1 回傳狀態
$?
這個是系統狀態,所以可以利用
echo $?
來回傳執行sript前後的系統狀態
再來還有可以在sh檔案內,利用 $? 是0/1來做if/ else判斷
參考連結:
https://unix.stackexchange.com/questions/145150/verify-the-length-of-a-variable
http://linux.vbird.org/linux_basic/0340bashshell-scripts.php#test