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