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日,由于这个==左右空格问题,其实困扰了好几个小时,一直没发现错误原因竟然是在这里!!!!!!
所以,以后工作中要注意!!!!!

浙公网安备 33010602011771号