从shell脚本运行jar时没有输出

时间:2013-05-22 09:41:01

标签: linux shell logging jar

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

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

脚本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)运行第一个时,能够将所有输出记录到指定的日志文件中?

提前致谢, 马丁

0 个答案:

没有答案