shell 復合條件測試 if [ $1 == "1" -o $1 == "0" ] ------==和-eq怎么用


想要實現:

1   if  [ $1等於“1”,或者$1等於“0” ];then
2     輸出一些東西
3  elif [ $1等於“2”,或者$1等於“3” ];then
4      輸出一些東西
5  fi

1   if  [ $1等於“1 ] 或者 [ $1等於“0” ];then
2     輸出一些東西
3  elif [ $1等於“2” ] 或者 [ $1等於“3” ];then
4    輸出一些東西 5  fi

這里比較難操作的是等於和或者:

   等於: -eq  或者 ==

   或者: -o  ||

        與:-a &&

見:

1 if  [ $1 == “1” -o $1 == “0” ];then
2     輸出一些東西
3 elif [ $1 == “2” -o $1 == “3” ];then
4      輸出一些東西
5 fi

1 if  [ $1 == “1” ] || [ $1 == “0” ];then
2     輸出一些東西
3 elif [ $1 == “2” ] || [ $1 == “3” ];then
4    輸出一些東西 5 fi

看清楚我這里的==左右都有空格!同時這里也可以寫成

1 if  [ $1 -eq “1” -o $1 -eq “0” ];then
2     輸出一些東西
3 elif [ $1 -eq “2” -o $1 -eq “3” ];then
4      輸出一些東西
5 fi

 

2019年6月25日,由於這個==左右空格問題,其實困擾了好幾個小時,一直沒發現錯誤原因竟然是在這里!!!!!!

所以,以后工作中要注意!!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM