7 причин, почему коты делают «тыгыдык»
Вчера наконец-то собрался силами и добрался до иммобилайзера, всего-то понадобилась неделя. За 5 дней я знатно себе так жопу отморозил без автозапуска. Починил, правда палец сука порезал. Ну это капля в море, на фоне всратых сервисов и неоправданных счетов за ремонт.
Благо сейчас есть интернет, где можно найти буквально любую инфу по багфиксу хоть чего, главное не ссать. Разобрал, посмотрел умным взглядом, собрал, если пару лишних деталей осталось, то уже успех.
Ну и вот, к чему это я. Спустя несколько лет жизни на алиасах, у меня дошли руки забиндить себе в bash хитрую хоткейку.
Сейчас покажу очередной велосипед, который сэкономит мне еще пару секунд прибывания в консоли. А может быть и ты куда-нибудь себе это присобачишь. Погнали!
Есть у меня сервер, на нем крутится самописная bastion оболочка. Как это работает:
- Цепляюсь в bastion
- В консоль вываливает список серверов
- Коннект к серверу
ssh <index>
То есть bastion у меня единая точка входа чтобы попасть на другие сервера, даже если на них нет белых айпишников.
Как я подключался раньше
> ssh user@bastion.bashdays.com
Как я подключался потом
> export alias bas="ssh user@bastion.bashdays.com"
> bas
Как я подключаюсь сейчас
> alt+b
Прям эволюционный роадмэп. Интересно, какая стадия будет следующей. Итак, повесил я подключение на хоткей, стало довольно удобно. Только открылась консоль, бряк alt+b и я уже внутри.
Хоткей вешал так, добавив это в .bashrc:
bastion() {
echo "connect to bastion server"
ssh -t qa@bastion.bashdays.com 'reset;bash'
}
bind -x '"\eb": bastion'
«ёб» в последней строчке, это как раз клавиша alt+b в кодах ANSI escape sequences. Если нужны другие кнопки, го в гугол, там этого полно.
«-t» создаёт псевдотерминал, чтобы команды вводились на сервере, а не в текущей оболочке.
А reset;bash понадобился, чтобы победить проблему с отображением команд, которые вводишь. Если убрать это хак, то когда будешь что-то вводить в консоли, это не будет отображаться на экране.
В zsh я на быструю руку попытался подобное провернуть, оно даже подключается, но терминал впадает в бэдтрип Read Only, какая-то абстракция с псевдотерминалами. Пока руки не дошли докопаться до сути. Но если у тебя получится это завести, пиши в комменты, сделаешь ОЧЕНЬ нужное и доброе дело.
Вот мои наработки для .zshrc:
bastion() {
echo "connect to bastion server"
ssh -tt user@bastion.bashdays.com
}
zle -N bastion
bindkey '\eb' bastion
Так, совсем забыл про котов, эту тему обязательно нужно обсудить. И дело тут не в блуждающем нерве.
И давай краба, жду тебя в комментах!








Комментарии
Виджет комментариев загружается с серверов Telegram и может использовать cookies. Разрешите внешние сервисы, чтобы открыть обсуждение.