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
とnotのすべての出力をログに記録することです。ザ・
Xtermロギングをオンにして、すべてのxterm出力をファイルに送信できます。
xterm -l -lf logfile.txt -e program
出力をリダイレクトすると、端末で実行されるプログラムの動作が変わる可能性があります。プログラムのall出力をキャプチャする場合は、プログラムに干渉しないものを使用します(例:script
:)。
xterm -hold -e script -c "program arguments" output.log
(Linux)または
xterm -hold -e script output.log program arguments
(OSX、その他のBSD)
または、xterm
を設定して、画面を「プリンタ」に書き込むこともできます。たとえば、printerCommand
リソースを使用するか、メニューエントリPrint-Allを使用します。すぐに。
参考文献:
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
これは、通常コンソールに送信されるエラーをファイルにリダイレクトします
しかし、これは少し冗長だと思います。ある端末から別の端末へのプログラムの実行。