tmux:更新bash函数的环境

时间:2014-01-15 07:47:32

标签: bash tmux

我需要导出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'

不仅可以使用变量函数。

1 个答案:

答案 0 :(得分:0)

一个想法是在文件中定义您的函数,并使用send_keys

在tmux会话中获取文件
tmux send-keys -t<whatever>:<pane> ". <path to function definitions>" C-m