xterm -e
コマンドで実行する自動テストがあります。
xterm -e RunMyTests
テスト実行の最後に、結果の要約といくつかの統計を標準出力に出力します。
結果を確認できるように、xtermを開いたまま表示したいのですが。
(非アクティブの場合は、私が見る限り問題ありません)
Xtermを手動で開始して、そこでテストを実行できることはわかっています。
または、後で調べるためにテスト出力をファイルにリダイレクトすることもできます。
または、新しいウィンドウを生成する代わりに、現在のxtermでテストを実行することもできます。
これらはすべて機能する可能性がありますが、理想的ではありません。
作業が完了した後もxtermウィンドウを開いたままにする方法はありますか?
問題は、xtermでシェルが実行されておらず、テストが完了したときにシェルが元に戻ることです。
これを試して。
xterm -e "echo hi;bash"
または
xterm -e "echo hi;read"
Xterm(1)から:
-hold Turn on the hold resource, i.e., xterm will not immediately
destroy its window when the Shell command completes. It will
wait until you use the window manager to destroy/kill the win‐
dow, or if you use the menu entries that send a signal, e.g.,
HUP or KILL.
標準コマンド:xterm -hold "echo I'm a boy"
Gambasコード:exec["xterm", "-hold", "-e", "ps aux"
通常はターミナルを開いてから環境スクリプトを読み込んでから、他のコマンドを続行する場合、lxterminalがすべて使用可能な場合に次のことが機能することがわかりました。
lxterminal -e bash -c "< path to env script \> bash --noprofile"
例えば:
lxterminal -e bash -c "/home/pi/linuxcnc-dev/scripts/rip-environment bash --noprofile"
これにより、ソース環境を上書きしないbashを実行するために、環境スクリプトをソースするbashを実行するターミナルウィンドウが作成されます。結局、それは質問に答えるソース環境でターミナルを開いたままにします。最初の-e bash
を削除すると、lxterminalがプロンプトなしでハングします。