tmuxinator 未知命令:Cm

tmuxinator 未知命令:Cm

我想编写一个脚本,使用 tsh 将多个 IP 和端口隧道传输到我的本地端口。我偶然发现了 tmux 和 tmuxinator 来完成这项工作。我编写了一个 tmuxinator 项目,如下所示

# ./.tmuxinator.yml

name: tunnels
root: ~/

windows:
  - myTunnels:
      panes:
        - tunnelHostOne:
          - echo "HostOne"
          - echo "tsh ssh --proxy=someProxy.com -L 127.0.0.1:5443:host1-dns.com:5432 codetalker@node1";
          - tsh ssh --proxy=someProxy.com -L 127.0.0.1:5443:host1-dns.com:5432 codetalker@node1;
        - tunnelCostDb:
          - echo "HostTwo"
          - echo "tsh ssh --proxy=someProxy.com -L 127.0.0.1:5445:host2-dns.com:5432 codetalker@node2";
          - tsh ssh --proxy=someProxy.com -L 127.0.0.1:5445:host2-dns.com:5432 codetalker@node2;

但是当我使用运行这个项目时

tmuxinator tunnels

它按预期打开一个带有两个窗格的窗口,并且只有第一个 echo 命令在两个窗格中运行,并且在分离时终端包含以下输出:

unknown command: C-m
unknown command: C-m
unknown command: C-m
unknown command: C-m
[detached (from session tunnels)]

我可以理解这C-m应该是Enter执行命令并移动到其他命令,但我不知道如何修复它。请有人帮忙。

答案1

我刚刚在旧 Mac 上使用 tmuxinator 3.0.5 时遇到了同样的问题。问题是我在某些窗格行的末尾有不必要的分号 (;)。删除它们后,一切正常。

您可以使用以下示例重现该问题。删除分号即可。

# /home/X00000X/.config/tmuxinator/semicolon-test.yml

name: semicolon-test
root: ~

windows:
  - devops:
      panes:
        - echo test;
        - echo test;
#                  ^ these are the problem, by removing them, it works ok.

相关内容