tee
これを使用して端末からコマンド出力を記録できることを知っています。たとえば、次のようになります。
df -h | tee ~/log.txt
しかし、次のようなより複雑なコマンドを使用してこれを行うにはどうすればよいですか?
xterm -hold -e program arg1 arg2 arg3
私は成功せずにこれを試しました。
xterm -hold -e matlab -noxterm -nojvm -r "solver('/path/to/a/folder',1)" | tee ~/log.txt
xterm
私の目標は、合計のすべての出力を記録することです。いいえ元の端末です。これ
答え1
xtermロギングを有効にして、すべてのxterm出力をファイルに送信できます。
xterm -l -lf logfile.txt -e program
答え2
出力をリダイレクトすると、端末で実行されるプログラムの動作が変わる可能性があります。キャプチャしたい場合みんなプログラムの出力は、次のようにプログラムを妨げないコンテンツを使用しますscript
。
xterm -hold -e script -c "program arguments" output.log
(Linux)または
xterm -hold -e script output.log program arguments
(OSX、その他BSD)
あるいは、リソースを使用するか、メニュー項目を使用してxterm
「プリンタ」への画面書き込みを設定するように設定することもできます。printerCommand
今すぐ印刷。
追加資料:
- スクリプト(1)Linux
- スクリプト(1)オペレーティングシステムなど
- xterm - X用ターミナルエミュレータ
答え3
実行したプログラムの出力をxtermに知りたい場合は、 xterm -hold -e " program arg1 arg2 arg3 | tee ~/log.txt"
たとえば、Ubuntuではgnome-terminal
次のことを実行します。xterm -hold -e " firefox | tee ~/log.txt"
エラーを記録するオプションもあります
xterm -hold -e program 2> errors.txt
通常、コンソールで発生したすべてのエラーをファイルにリダイレクトします。
しかし、私の考えにはこれは少し不要なようだ。ある端末から別の端末にプログラムを実行します。