我想编写一个 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
您可以执行以下操作之一:
命令后运行 shell:
tmux new -dsmy_session 'mycommand; exec $SHELL'
让 tmux 启动 shell,然后键入命令
send-keys
:tmux new -dsmy_session \; send mycommand Enter
您也可以设置该remain-on-exit
选项,但当您使用命令创建会话时,执行此操作很困难,因为该命令可能会在您设法设置它之前退出。