我需要创建一个外壳来运行其他外壳,如下所示:
#!/bin/ksh
. ${SCRIPT}/DataLoad.sh File1
. ${SCRIPT}/DataLoad.sh File2
. ${SCRIPT}/DataLoad.sh File3
. ${SCRIPT}/DataLoad.sh File4
在 DataLoad.sh 中,错误处理中会有一些“exit num”命令。但是我希望无论哪一个遇到“退出”,这 4 个命令都将被执行。我怎样才能做到这一点???
也许我没有完全理解你的问题,但我建议你用 find 替换这个脚本;
find -iname "file*" -exec DataLoad.sh {} ';'
说
. 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