Я хочу использовать tmux по умолчанию при установке SSH-соединения, и это хорошо работает с такой командой:
ssh host.example.com -t 'tmux a || tmux || /bin/bash'
Я даже могу поместить это как часть ProxyCommand внутри, ~/.ssh/config
но проблема в том, что я также создаю SSH-подключения как часть скриптов, которые просто запускают разные команды на удаленных машинах, и в этом случае мне не нужен tmux.
Как мне добиться такого поведения, чтобы вызов tmux был прозрачным и происходил только при подключении ssh без каких-либо параметров/команд?
решение1
Вы заново изобретаете велосипед.
- УстановитьБёбо.
byobu-enable
решение2
Решено добавлением этого к ~/.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
}