我是shelll脚本的新手,我的问题可能非常基础。
我有一个脚本(.sh文件)正在调用几个scipt文件。现在假设,我在执行脚本1时收到错误消息,我想中止脚本并完全终止脚本流程。它不应该继续下一步。
你可以告诉我如何实现这一点。修改
我的脚本A正在调用脚本B,它在内部调用其他一些脚本C.
如果执行StopServer1.py脚本(脚本B的一部分)失败,则流应该在此处终止,不应该到达StopServer2和StopServer3,并且控制转到脚本A.这也应该终止。
如果set -e
有帮助,请告诉我。
cd /usr/oracle/WSAutomate/
java weblogic.WLST /usr/oracle/StopServer1.py >> $logFileName
java weblogic.WLST /usr/oracle/StopServer2.py >> $logFileName
java weblogic.WLST /usr/oracle/StopServer3.py >> $logFileName
答案 0 :(得分:4)
您可以使用:
set -e
用于在出错时中止脚本。
主脚本代码段:
#!/bin/bash
set -e
# Any failure in these script calls will make main script to exit immediately
./script1
./script2
./script3
答案 1 :(得分:0)
您可以通过&&
这种方式使用运算符<execute_script1> && <execute_script2>
。
它执行script1,只有当一切正常时,它才会执行script2。如果出现错误,script2将无法运行。