shell 判斷語句 - 我的文章 - study linux
07-23
shell 判斷語句 shell 判斷語句流程式控制制 "if" 表達式 如果條件為真則執行then後面的部分: if ....; then....elif ....; then....else....fi大多數情況下,可以使用測試命令來對條件進行測試。比如可以比較字元串、判斷文件是否存在及是否可讀等等… 通常用" [ ] "來表示條件測試。注意這裡的空格很重要。要確保方括弧的空格。[ -f "somefile" ] :判斷是否是一個文件[ -x "/bin/ls" ] :判斷/bin/ls是否存在並有可執行許可權[ -n "$var" ] :判斷$var變數是否有值[ "$a" = "$b" ] :判斷$a和$b是否相等 -r file 用戶可讀為真-w file 用戶可寫為真-x file 用戶可執行為真-f file 文件為正規文件為真-d file 文件為目錄為真-c file 文件為字元特殊文件為真-b file 文件為塊特殊文件為真-s file 文件大小非0時為真-t file 當文件描述符(默認為1)指定的設備為終端時為真######################################################### 含條件選擇的shell腳本對於不含變數的任務簡單shell腳本一般能勝任。但在執行一些決策任務時,就需要包含if/then的條件判斷了。shell腳本編程支持此類運算,包括比較運算、判斷文件是否存在等。基本的if條件命令選項有: -eq —比較兩個參數是否相等(例如,if [ 2 –eq 5 ])-ne —比較兩個參數是否不相等-lt —參數1是否小於參數2-le —參數1是否小於等於參數2-gt —參數1是否大於參數2-ge —參數1是否大於等於參數2-f — 檢查某文件是否存在(例如,if [ -f "filename" ])-d — 檢查目錄是否存在幾乎所有的判斷都可以用這些比較運算符實現。腳本中常用-f命令選項在執行某一文件之前檢查它是否存在。 ################################################################## 判斷文件是否存在 #!/bin/shtoday=`date -d yesterday +%y%m%d`file="apache_$today.tar.gz"cd /home/chenshuo/shellif [ -f "$file" ];thenecho "OK"elseecho "error $file" >error.logmail -s "fail backup from test"chenshuo@soufun.com <error.logfi
推薦閱讀:
推薦閱讀:
※天輔旺文昌,妙筆著文章——風水命理為學子加分(一)
※關於所有在美國給小費的疑問,希望這篇文章都能為您解答
※下跌時獨步江湖!(這是一篇不得不看的投資文章)
※晏嬰的故事:一篇文章讓你全面晏嬰(6)
※薦讀:髖關節查體怎麼做?這篇文章全搞定