0

階層を呼び出すシェル スクリプトで 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-file を次のように実行します。

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-file に書き込みます。次の方法でスクリプトを開始すると:

/path/to/scripts/scripta.sh

これは機能せず、出力がコンソールに表示されます。残念ながら、sh コマンドを使用できません。これらのスクリプトは、sh を使用せずにこのスクリプトを呼び出す UC4 ジョブ システムによってトリガーされる必要があるためです。最初のスクリプト内で「sh」を使用して 2 番目のスクリプトを呼び出しても、機能しません。

上記のコマンド (sh なし) を使用して最初のログ ファイルを実行するときに、指定したログ ファイルにすべての出力を記録できるようにスクリプトを編集するにはどうすればよいですか?

前もってありがとう、マーティン

4

0 に答える 0