我在 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)运行第一个脚本时,如何编辑脚本以将所有输出记录到指定的日志文件?
在此先感谢,马丁