0

我在 shell 脚本调用层次结构中运行一个 jar 文件。我想将执行 jar 文件的输出重定向到我的日志文件“loga.log”,但这仅在我使用“sh”-command 运行此脚本时才有效。

我的调用层次结构基本上是这样的:

脚本 A 调用脚本 B:

/path/to/script/scriptb.sh &> /path/to/logs/loga.log

脚本 B 调用脚本 C:

/path/to/script/scriptc.sh > /path/to/logs/logb.log

脚本 C 执行 jar 文件:

java -Xms512m -Xmx1280m -Djava.awt.headless=true -jar /path/to/jar/thejar.jar > /path/to/logs/stdout.log #2>/path/to/logs/stderr.log

第一个脚本由命令行启动:

sh /path/to/scripts/scripta.sh

然后我根据需要将输出写入 loga.log 文件。当我通过以下方式启动脚本时:

/path/to/scripts/scripta.sh

这不起作用,输出显示在控制台中。不幸的是,我无法使用 sh 命令,因为这些脚本必须由 UC4 作业系统触发,该系统在不使用 sh 的情况下调用此脚本。在第一个脚本中使用“sh”调用第二个脚本也不起作用。

通过上述命令(不带 sh)运行第一个脚本时,如何编辑脚本以将所有输出记录到指定的日志文件?

在此先感谢,马丁

4

0 回答 0