我希望默认情况下使用tmux,当我build立SSH连接,这可以很好地使用如下命令:
ssh host.example.com -t 'tmux a || tmux || /bin/bash'
我甚至可以把它作为~/.ssh/config
中的ProxyCommand的一部分,但问题是,我也正在做SSH连接作为脚本的一部分,只是在远程机器上运行不同的命令,我不希望tmux这个案例。
我怎样才能实现这个行为,所以tmux调用将是透明的,只有当ssh没有任何参数/命令时才会发生。
你正在重新发明轮子。
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 }