tmux session_idをtmuxにソーシングする方法

tmux session_idをtmuxにソーシングする方法

私はこれを持っています:

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_sessionTMUXに継承されないことです。

この機能をどのように取得できますか? (私はすべてのTMUXウィンドウで「remove_session」を呼び出すことができるようにしたいです。)

bashrcファイルをリソース化しても問題は実際には解決されません。これは、TMUXが実行された後のソースではなく、最初のソースでsession_idが生成されるためです。

答え1

理論的には、次のように実行されます。

tmux new -d -s "$session_uuid"
tmux set-option -g update-environment "remove_session session_uuid"

バッシュ機能はいいえtmuxに渡されましたが、環境変数以前はなぜこれが起こるのかわかりません。

関連情報