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

时间:2019-07-15 01:42:38

标签: shell tmux

在我的普通shell中,我创建了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)

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

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

1 个答案:

答案 0 :(得分:1)

您始终可以将两个命令组合为一个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