shell - 如何告诉 tmux 在创建新的分离 session 时发出另一个 tmux 命令

标签 shell tmux

在我的普通 shell 中,我创建 tmux session 以在后台运行

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

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

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

但是我如何告诉 tmux 创建分离 session 时(通过 (1))立即添加 pipe-pane tmux 命令?

我基本上在我的普通 shell 中寻找一种方法来创建带有日志记录的分离的 tmux session 。 - 我正在使用 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 或更高版本,您可以设置一个 Hook 以在新 session 启动时运行命令。放入 ~/.tmux.conf

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

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

关于shell - 如何告诉 tmux 在创建新的分离 session 时发出另一个 tmux 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57032431/

相关文章:

tmux - iTerm2 使用选项卡而不是窗口附加到 tmux session ?

tmux 无需切换即可放大或缩小

linux - 每次在 tmux 中运行时,Vim 都需要获取 .vimrc

python - 如何在特定环境下安装Python包?

shell - 计算 shell 变量中的项目数

Ruby:检查连通性

linux - 如何阻止我的 VIM 背景在没有文本的 tmux 中透明?

tmux - 如何自动重置 tmux 窗口索引

amazon-web-services - 如何从代码构建中并行部署多个 shell 脚本?

python - 从 npm 命令激活虚拟环境不起作用