私はこれを持っています:
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ファイルをリソース化しても問題は実際には解決されません。これは、TMUXが実行された後のソースではなく、最初のソースでsession_idが生成されるためです。
答え1
理論的には、次のように実行されます。
tmux new -d -s "$session_uuid"
tmux set-option -g update-environment "remove_session session_uuid"
バッシュ機能はいいえtmuxに渡されましたが、環境変数以前はなぜこれが起こるのかわかりません。