我需要导出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'
不仅可以使用变量函数。
答案 0 :(得分:0)
一个想法是在文件中定义您的函数,并使用send_keys
tmux send-keys -t<whatever>:<pane> ". <path to function definitions>" C-m