Bash
用於啟動分離的 tmux 會話、執行腳本並保持 tmux 會話活動的 Ba sh 腳本
我想編寫一個 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
但這會在腳本完成執行後退出。如何使會話保持活動狀態,以便我可以附加和執行更多腳本?
您可以執行以下操作之一:
- 在命令之後執行一個 shell:
tmux new -dsmy_session 'mycommand; exec $SHELL'
- 讓 tmux 啟動一個 shell,然後輸入以下命令
send-keys
:tmux new -dsmy_session \; send mycommand Enter
您也可以設置該
remain-on-exit
選項,但是當您使用命令創建會話時這樣做很棘手,因為該命令可能會在您設法設置它之前退出。