Rischaos
Rischaos
采纳率100%
2019-08-07 09:49

linux中shell脚本可以这样写判断逻辑吗?

已采纳

小弟初学linux及Shell脚本,有一个调度逻辑需要判断三个sql的执行情况,分别在每个sql执行后记录一个状态变量,最后用一个条件语句判断是否全部执行成功,如下所示:

if [ $stage1|$stage2|$stage3 == 0 ];then
    echo "success."

else
    echo "failed"

fi

按照我的想法,执行成功后stage的值应为0,有一个失败的话应不为0,所以这里对三个状态取了“或”,但执行时提示:

图片说明
显示失败,没有想明白是什么原因

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • wojiushiwo945you 毕小宝 2年前

    思路没问题,但是判断语法错误了,Linux 的逻辑判断或是 ||
    demo 语法参考:
    图片说明

    点赞 1 评论 复制链接分享
  • zhouchao6 zhouchao6 2年前

    你用 或 那就是有一个为0 条件就为真,你这里要用逻辑与 if [ $stage1==0 ] && [ $stage2==0 ] && [ $stage==0 ]
    或者你直接 $[stage1+stage2+stage3] 这个值为0,就是都执行成功,否则,执行失败

    点赞 1 评论 复制链接分享