起動したプログラムが終了したときに端末が閉じないようにする方法は? [コピー]

起動したプログラムが終了したときに端末が閉じないようにする方法は? [コピー]

このような端末(urxvtなどの端末)を起動すると、新しい端末が起動しますが、5秒後にプログラムが終了したため、端末はurxvt -e sleep 5閉じます。sleepコマンドラインのプログラムで端末を起動し、そのプロセスが終了しても端末をアクティブに保つにはどうすればよいですか?

実際に私が本当にしたいのは、urxvt -e tmux new-session top実行中のtmuxセッションを使用してurxvtを開くことですtop。しかし、qendを押すとtoptmuxとurxvtも終了します。終了時にtoptmuxのシェルに移動したいと思います。

ベストアンサー1

実行を指示したコマンドの実行中に、端末(tmux)が閉じます。対話型シェルを最初に実行するには、そうするように指示するtop必要があります。コマンドを結合するのはシェルの作業なので、中間シェル(対話型ではない)を実行してそれこれら2つのコマンドを連続して実行します。

urxvt -e tmux new-session sh -c 'top; "$SHELL"'

おすすめ記事