nc
経由でサーバーとの通信を開始するbashスクリプトで、サーバー・モードで稼動するソフトウェアのログ出力をlocalhost
にキャプチャーしようとしています。ローカルbashスクリプトでサーバー端末の出力をキャプチャーします
サーバーは次のように開始されます。bashスクリプトから
java -Xms4g -Xmx6g -jar target/Semafor-3.0-alpha-04.jar model-dir:../semafor_malt_model_20121129 port:4444
通信は次のとおりです。うまくnc
の場合と同様に
cat file | nc localhost 4444 > ./output
これはSTDERR
出力をキャプチャします。
しかし、私はサーバを起動したターミナルウィンドウでたくさんのログメッセージをスクロールすることができます。私の質問は、これらのメッセージをbashスクリプトでキャプチャする方法です(特定のファイル名file.log 、送信されるファイルごとに異なるでしょうか?)
私は、変数
var=$(cat file | nc localhost 4444 > ./output)
でbashコマンドの出力をキャプチャしたり、script
でなく、任意の成功なしの端末出力をキャプチャしようとしているような、様々な提案を試みました。私はここで私の深さからはっきりとわかりました。そして、どんな指針も喜んで受け取ります。
感謝。画面は私にとっては新しく、javaとpathのコンポーネントが見つからないというエラーが出ているようです。今夜は適切な時間を過ごすでしょうし、もっと関連性の高い質問があるかもしれません。 – Alexander
申し訳ありませんが、私はこれを動作させるのに苦労しています。すべてのクラスパスと他のパス情報は、画面を使用すると失われるようですが、その周りの方法はありますか?相対パスを絶対パスで置き換えようとしましたが、ENV変数で定義されているものもあります。何か案は? – Alexander
この問題を解決するにはいくつかの方法がありますが、最も簡単な方法はsetenvコマンドを使用することです。詳細はこちら[http://unix.stackexchange.com/questions/157202/how-to-set- screen-environment-variable-from-bash)を実行します。 – aalf1987