0

我需要创建一个外壳来运行其他外壳,如下所示:

#!/bin/ksh
. ${SCRIPT}/DataLoad.sh File1
. ${SCRIPT}/DataLoad.sh File2
. ${SCRIPT}/DataLoad.sh File3
. ${SCRIPT}/DataLoad.sh File4

在 DataLoad.sh 中,错误处理中会有一些“exit num”命令。但是我希望无论哪一个遇到“退出”,这 4 个命令都将被执行。我怎样才能做到这一点???

4

2 回答 2

0

也许我没有完全理解你的问题,但我建议你用 find 替换这个脚本;

find -iname "file*" -exec DataLoad.sh {} ';'
于 2013-09-25T07:02:20.957 回答
0

. scriptname ...

将导致脚本在当前 shell 上下文中执行。这会导致主脚本exit在任何脚本执行此操作时执行。

而是说:

#!/bin/ksh
ksh ${SCRIPT}/DataLoad.sh File1
ksh ${SCRIPT}/DataLoad.sh File2
ksh ${SCRIPT}/DataLoad.sh File3
ksh ${SCRIPT}/DataLoad.sh File4
于 2013-09-25T07:04:43.530 回答