tmux 状态栏中的无限循环 shell 脚本

tmux 状态栏中的无限循环 shell 脚本

我写了一个bash脚本在 tmux 状态栏中显示 cmus 状态。它已经工作了一段时间,但最近重新安装 Debian 9 后,tmux 显示<'path/cmus-status.sh' not ready>而不是 cmus 状态。我在 ~/.tmux.conf 中添加以下内容来运行脚本:

set -g status-right '... #(path/cmus-status.sh) ...'

这个线程我了解到问题可能是因为 tmux 认为脚本的执行“未完成”并等待其结束然后再显示输出。但该脚本是一个无限while循环并且不打算停止。

如果这是原因,有没有办法告诉 tmux 不要等待脚本完成并只显示它们输出的任何内容?或者这更多是与 tmux 版本相关的问题?

答案1

我测试了我必须手的 tmux 2.3 和 2.6,新版本似乎可以很好地从无限命令更新,但旧版本则不然。您似乎至少需要 2.5,正如您在 CHANGES 文件中看到的那样:

从 2.4 到 2.5 的变更,2017 年 5 月 9 日

如果 #() 命令不退出,则继续读取该命令并使用其最后一整行输出。

相关内容