请告诉我这个shell脚本中的问题??它没有运行条件语句…结果只显示在unsub类别中? for((i=0;i
试试这些请告诉我这个shell脚本中的问题??它没有运行条件语句…结果只显示在unsub类别中? for((i=0;i,shell,Shell,试试这些 使用“=”代替“=” 在方括号和比较器之间留出一个空格 例如:。, 如果[“$i”=“0”] 希望有帮助。这里修改了代码 for ((i=0;i<5;i++)) do result=$(mysql -u' ' -p' ' -Ddb_bcore -h' ' -sNe "SELECT COUNT(1) FROM db_bcore.tb_subscriptions GROUP BY STATUS limit 1 offset $i;") echo "$i" if ["$i" == "0
for ((i=0;i<5;i++))
do
result=$(mysql -u' ' -p' ' -Ddb_bcore -h' ' -sNe "SELECT COUNT(1) FROM db_bcore.tb_subscriptions GROUP BY STATUS limit 1 offset $i;")
echo "$i"
if ["$i" == "0"];
then
echo "pending = $result"
elif ["$i" == "1"];
then
echo "active = $result"
elif ["$i" == "2"];
then
echo "lowbalance = $result"
elif ["$i" == "3"];
then
echo "expired = $result"
else
echo "unsub = $result"
fi
done
for((i=0;i对于脚本,最好使用case
结构:
for ((i=0;i<5;i++))
do
result=$(mysql -u' ' -p' ' -Ddb_bcore -h' ' -sNe "SELECT COUNT(1) FROM db_bcore.tb_subscriptions GROUP BY STATUS limit 1 offset $i;")
echo "$i"
if [ "$i" = "0" ];
then
echo "pending = $result"
elif [ "$i" = "1" ];
then
echo "active = $result"
elif [ "$i" = "2" ];
then
echo "lowbalance = $result"
elif [ "$i" = "3" ];
then
echo "expired = $result"
else
echo "unsub = $result"
fi
done
((i=0;i)的
for ((i=0;i<5;i++))
do
result=$(mysql -u' ' -p' ' -Ddb_bcore -h' ' -sNe "SELECT COUNT(1) FROM db_bcore.tb_subscriptions GROUP BY STATUS limit 1 offset $i;")
echo "$i"
case $i in
0)
echo "pending = $result"
;;
1)
echo "active = $result"
;;
2)
echo "lowbalance = $result"
;;
3)
echo "expired = $result"
;;
*)
echo "unsub = $result"
;;
esac