有 4 个 shell 脚本:
- 将文件从路径 A 迁移到路径 B (unix)。
- 该脚本触发一个 powercenter 工作流。
- 该脚本触发一项 IDQ 作业。
- 该脚本从路径 B 中删除文件(请参阅 point-1 脚本)
现在我需要创建一个 shell 脚本来按顺序调用上述脚本(任何脚本在前一个脚本成功完成之前都不会启动)。
我对 UNIX 绝对是新手。
答案1
#! /bin/sh -
script1 &&
script2 &&
script3 &&
script4
cmd1 && cmd2
cmd2
仅在成功时运行cmd1
。脚本的退出状态是最后运行命令的退出状态。
或者:
#! /bin/sh -
set -e
script1
script2
script3
script4
set -e
告诉 shell 在命令失败时退出(带有失败命令的退出状态)。
或者:
#! /bin/sh -
script1 || exit
script2 || exit
script3 || exit
script4
cmd1 || cmd2
cmd2
如果失败则运行cmd1
。exit
以最后一个命令的退出状态退出 shell(因此这里是失败的脚本)。您可以使用exit 1
强制退出状态为 1。