如何configurationssh客户端默认打开tmux只有当调用ssh没有参数?

我希望默认情况下使用tmux,当我build立SSH连接,这可以很好地使用如下命令:

ssh host.example.com -t 'tmux a || tmux || /bin/bash' 

我甚至可以把它作为~/.ssh/config中的ProxyCommand的一部分,但问题是,我也正在做SSH连接作为脚本的一部分,只是在远程机器上运行不同的命令,我不希望tmux这个案例。

我怎样才能实现这个行为,所以tmux调用将是透明的,只有当ssh没有任何参数/命令时才会发生。

你正在重新发明轮子。

  • 安装Byobo 。
  • byobu-enable

通过添加到~/.bashrc

 function ssh() { if [ "$#" == "1" ]; then if [ "${1:0:1}" != "-" ]; then /usr/bin/ssh "$@" -t 'tmux a || tmux || /bin/bash' else /usr/bin/ssh "$@"; fi else /usr/bin/ssh "$@"; fi }