如何在创建新的分离会话时告诉 tmux 以发出另一个 tmux 命令



在我的普通外壳中,我创建了 tmux 会话以在后台运行

tmux new-session -d -s my-session my-script.sh (1)

现在我想通过pipe-pane将所有输出的日志记录添加到会话中。我知道如何在不分离的会话中执行此操作(在 tmux内部时):

Ctrl-B : pipe-pane -o 'cat >>~/tmp/output.log' (2)

但是我如何在创建分离会话告诉 tmux - 通过 (1) - 直接添加pipe-panetmux 命令?

我基本上在我的普通 shell 中寻找一种方法来创建带有日志记录的分离 tmux 会话。 - 我正在使用 tmux 1.6。

您始终可以将这两个命令组合成一个 tmux 命令(我没有 tmux 1.6 来测试它,但它适用于 2.2):

tmux new-session -d -s my-session my-script.sh ; pipe-pane -o 'cat >>~/tmp/output.log'

如果您使用的是 tmux 2.9 或更高版本,则可以设置一个钩子以在新会话启动时运行命令。放入你的 ~/.tmux.conf

set-hook -g session-created "pipe-pane -o 'cat >>~/tmp/output.log'"

为了处理许多会话,您可以在文件名中包含会话名称,例如output.#{session_name}.log.

最新更新