我有以下代码:
#!/bin/bash
tmux new-session \; \
send-keys 'ls' C-m \; \
split-window -h \; \
send-keys 'ls' C-m \;
当我运行这个脚本时,我得到两个窗口。当我想关闭所有内容时,我必须按Ctrl+D
两次,一次为右侧窗格,另一次为左侧窗格。
如何确保Ctrl+D
按下时两个窗口都会自动关闭?
我看了看,trap()
但我不确定如何Ctrl+D
从窗户内捕获它
答案1
向分割窗口发送陷阱似乎有效:
function close_tmux
{
tmux kill-server &> /dev/null
}
trap close_tmux EXIT
tmux new-session \; \
send-keys 'ls' C-m \; \
split-window -h \; \
send-keys 'ls; function close_tmux { tmux kill-server ; }; trap close_tmux EXIT' C-m \; \