bash の stout と stderr をそれぞれ個別のファイルにリダイレクトする必要があります。さて、私はこのコマンドを完了しました:
((/usr/bin/java -jar /opt/SEOC2/seoc2.jar 2>&1 1>&3 | ティー --append /opt/SEOC2/log/err.log) 3>&1 1>&2 | ティー --追加 /opt/SEOC2/log/app.log) >> /opt/SEOC2/log/combined.log 2>&1 &
コマンドラインから実行すると正常に動作します。
まったく同じコマンドをbashスクリプトに入れようとしています
... 12 cmd="(($run -jar $cmd 2>&1 1>&3 | tee --append $err) 3>&1 1>&2 | tee --append $log) >> $combined 2>&1" ... 30 echo -e "サービスを開始しています..." 31 $cmd & 32 pid=`ps -eo pid,args | grep seoc2.jar | grep -v グレップ | カット -c1-6` 33 の場合 [ ! -z $pid ]; それから ...
次のようなエラーが発生します。
root@operator:/opt/SEOC2# seoc2 スタート サービスを開始しています... /usr/local/bin/seoc2: 31行目: ((/usr/bin/java: dir or file does not exist
このコマンドを $( )、` ` などでカバーしようとしましたが、まったく効果がありません :(
すでに何時間も遊んでいるので、提案やアドバイスをいただければ幸いです:/
どうもありがとうルネ