web-dev-qa-db-ja.com

切り離されたtmuxセッションを開始し、スクリプトを実行し、tmuxセッションを存続させるためのBashスクリプト

次のようなbashスクリプトを作成したいと思います。

  • 新しいtmuxセッションを開始し、スクリプトを実行します
  • それに添付します
  • スクリプトの実行が終了した後は終了しないでください

私はこれを試しました:

tmux new -d -s my_session '$Shell -c " sleep 1; echo please dont exit after echo; sleep 1;"'
tmux attach -t my_session

ただし、これはスクリプトの実行が終了した後に終了します。より多くのスクリプトを添付して実行できるように、セッションを存続させるにはどうすればよいですか?

1
MuhsinFatih

次のいずれかを実行できます。

  • コマンドの後にシェルを実行します:tmux new -dsmy_session 'mycommand; exec $Shell'

  • Tmuxでシェルを起動し、send-keystmux new -dsmy_session \; send mycommand Enterでコマンドを入力します

remain-on-exitオプションを設定することもできますが、コマンドを使用してセッションを作成するときにこれを行うのは注意が必要です。設定する前にコマンドが終了する可能性があるためです。

3