我正在尝试.tmux.conf
根据我所使用的系统类型使我的部分文件有条件。首先,我希望仅在 MacOS 上处理一个部分。
手册页说我可以使用#(COMMAND)
语法来替换COMMAND
格式的输出,特别是在条件中。所以我正在尝试这个:
%if "#{==:#(/usr/bin/uname -s),Darwin}"
CONF-COMMANDS
%endif
但是没有运气,CONF-COMMANDS
在Mac上被忽略了。当然,我已经验证了“达尔文”确实是uname -s
. 如您所见,我使用绝对文件名来消除任何PATH
问题。我还验证了这个微不足道的条件%if "#{==:Darwin,Darwin}"
实际上是有效的。所以我一定在语法上做错了什么。它是什么?
我感觉您遇到了手册页中描述的情况:
您可以在 Tmux 会话中演示这一点:
哪个应该返回
<'uname -s' not ready>
。考虑使用
if-shell
它的替代方法%if
:在 Tmux 3.2a 下,语法更加简洁:
未在 Mac 上测试,但已确认可与 WSL/Ubuntu/Bash 一起使用。我认为它应该与 Mac/Zsh 一起工作。