2016-03-30 12 views
0

私はantファイルからシェルスクリプトを実行しています。私は、ログファイル 'buillog-perform.txt'にシェルスクリプトのstd出力を取り込みたいと思います。 以下は私がコードを抜粋したものです。私の完全なビルドは問題ありません。しかし、どちらのシェルスクリプトも実行されず、ログはbuillog-perform.txtファイルに取り込まれません。antスクリプトのexec要素の出力をログファイルに出力します

誰かがこれを手伝ってくれますか?シェルスクリプトのいずれかがこのログファイルにある場合、どのようにすべての出力とエラーを収集できますか?

注:このターゲットを並列に実行したいので、spawn属性を使用してください。

<target name="perform" 
     description="This target for the perform.">  
    <exec dir="." executable="/bin/sh" spawn="true" output="buillog-perform.txt"> 
      <arg line="-c './abc.sh -c ${arg1}'" /> 
    </exec> 
</target> 
+1

あり –

答えて

0

私はあなたの次のソリューションのいずれかをお勧め:

1)あなたのコードを変更:

<arg line="-c './abc.sh -c ${arg1}' > stdout.txt 2> stderr.txt" /> 

2)あなたのbashスクリプトの先頭に次の行を追加します。

#!/bin/bash 
exec &>> logfile.txt 
… 

>>が追加されますが、>はちょうど書き込まれますe。また、> outANDerr.txt 2>&1を使用して、すべての出力を同じファイルに含めることができます。詳細情報については

はここを見て:参照::https://ant.apache.org/manual/Tasks/exec.html ANT幹部タスクの「出力」属性はhttp://wiki.bash-hackers.org/syntax/redirection

関連する問題