Bashrc функция с именем ssh не работает
Я создал функцию в моем файле bashrc, так что когда я ssh во что-то, он автоматически открывает сеанс tmux.
function ssht () {
/usr/bin/ssh $@ -t 'tmux a || tmux || /bin/bash'
}
Это прекрасно работает, но я не хочу использовать ssht, я хочу просто использовать ssh. Когда я изменяю функцию с ssht на ssh, tmux не открывается, но успешно выполняет ssh на машине.
Я предполагаю, что это не работает, потому что когда я вызываю ssh, он игнорирует функцию в файле bashrc и вместо этого запускает ssh.
Есть ли способ, которым я могу просто использовать "ssh" вместо "ssht"
1 ответ
Функция SSH Bash
Сделав функцию ssh для запуска чего-либо при входе в систему, вы сделали следующее:
function ssht () {
\ssh $@ -t 'tmux a || tmux || /bin/bash'
}
alias ssh=ssht
- Добавление
\
перед ssh временно отключает псевдоним. ssht
Функция остается прежней, но мы добавляем псевдоним ssh, который указывает на нее.- ВНИЗ: другие вещи могут сломаться, хороший пример - автоматическое завершение хостов из вашей конфигурации ssh
Команда SSH (Альтернатива)
В качестве альтернативы вы можете использовать встроенный SSH способ сделать это, добавив Command="tmux"
перед вашим открытым ключом в authorized_keys
файл. Может использоваться следующим образом:
command="echo howdy" ssh-rsa AAAAB3...