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

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

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

else
    echo "failed"

fi

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

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

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

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