我有这个:
export session_uuid="$(uuidgen)"
remove_session() {
tmux kill-session -t "$session_uuid"
}
export -f remove_session
trap remove_session TERM INT SIGINT SIGTERM
source 'scripts/shell.sh'
echo "TMUX session id: $session_uuid"
tmux new -d -s "$session_uuid"
tmux split-window -h -t "${session_uuid}.0"
但问题是 env varsession_uuid
和 bash 函数都remove_session
没有继承到 TMUX 中。
我怎样才能获得这个功能? (我希望能够从任何 TMUX 窗格调用“remove_session”。)
资源化我的 bashrc 文件并不能真正解决问题,因为 session_id 是在第一个源上创建的,而不是 TMUX 运行后的源...
答案1
理论上它会这样做:
tmux new -d -s "$session_uuid"
tmux set-option -g update-environment "remove_session session_uuid"
bash 函数是不是传递给 tmux,但是环境变量曾是,不知道为什么会这样。