我有两个脚本:Script1:提供一个路径(目录)作为另一个目录的输入,script2扫描该目录并创建该inout目录中缺少的任何路径或文件的日志。现在我想要停止script1(如果有的话)路径或文件丢失,但我的第二个脚本应完成扫描整个目录(作为输入)。
简而言之,我的日志应该是完整的,我的第一个脚本应该暂停(如果文件丢失)
答案 0 :(得分:0)
方法1(我最喜欢的):
确保脚本2返回正确的退出代码(通常为0,如果一切正常,则为1,如果发生错误,即缺少其中一个文件)。查询Script1中的退出代码,如果退出代码不为零,则终止Script1。
方法2:
让Script1检查script2创建的日志文件的长度。如果长度为零,或者日志文件不存在,则终止Script1。
答案 1 :(得分:0)
我做了什么: 在脚本中,一个调用脚本2,并在下一行中捕获先前可执行命令的退出状态(即调用两秒脚本)。 在他的第二个脚本中,我保留了一个标志以获得退出状态。 在第一个脚本中:
$script_path/firstScript.sh
if [ "$?" -eq 1 ]; then
exit 1
fi
在第二个脚本中:
if [ "$errorCode" -eq 0 ]; then
echo "$(timestamp) INFO tid=\"$tid\" ========== Success"
else
echo "$(timestamp) INFO tid=\"$tid\" ========== Script executed with errors,Check missing files ========== "
echo "$(timestamp) INFO tid=\"$tid\" Script executed with errors,Check logger for more information "
exit 1
fi