TMUX:更新 bash 函数的环境



>我需要导出 bash 函数才能使用,如下例所示。请注意,我示例中的函数体被简化。在实际情况下更复杂。我不想写完整个发送键参数中的函数体。

#!/bin/bash
TMUX_SESSION="experiment"                       
LOG_FILENAME="_log"                                   
exec_commad() { 
   run_my_commad_that_produces_log_messages > $LOG_FILENAME
}  
watch_errors() { 
   tail -F ${LOG_FILENAME} | grep -E ' (WARNING|ERROR|CRITICAL) ' 
} 
tmux new-session -d -s "$TMUX_SESSION"
tmux send-keys "exec_commad" 'C-m'                                                                              
tmux split-window -v                                                         
tmux send-keys "watch_errors" 'C-m'               
tmux -2 att -t $TMUX_SESSION

想法是要做的

set-option -ga update-environment ' exec_commad watch_errors'

不仅适用于变量,还适用于函数。

一个想法是在文件中定义您的函数,并使用 tmux 会话中获取该文件send_keys

tmux send-keys -t<whatever>:<pane> ". <path to function definitions>" C-m

最新更新