Свободный текстовый поиск команд bash

Свободный текстовый поиск команд bash

Мне нужно управлять 5 серверами (ssh, туннель и т. д.). Так есть ли способ/плагин для выполнения свободного текстового поиска и выполнения команды? Например, я сопоставляю предложение с командой bash и фильтрую в терминале с помощью свободного текстового поиска. Я знаю о поиске по истории с помощью команды ctrl + R, но это немного обременительно — просматривать все IP-адреса, чтобы найти нужный сервер.

Например

Text : "ssh to server 1" >> "ssh nirojan@ipaddress"
Text : "tunnel to server 5" "ssh -L 5234:localhost:5433 "

решение1

Специально для SSH

Определите псевдонимы хоста в файле конфигурации вашего клиента SSH.~/.ssh/config. Например:

Host server1
    Hostname ipaddress
    User nirojan

Host server5-tunnel
    Hostname server5
    LocalForward 5234:localhost:5433

Тогда ssh server1эквивалентно nirojan@ipaddress, и т. д. Преимущество этого метода в том, что он работает со всем, что использует SSH под капотом, например rsync -a somefile server1:some/directory.

Если вы включили контекстно-зависимое дополнение в bash или zsh, оболочка будет дополнять псевдонимы хостов, где вы сможете использовать их с такими командами, как ssh, sftp, rsyncи т. д.

Кроме того, если вам нужно сделать то же самое на нескольких серверах, см.Автоматически запускать команды по SSH на многих серверах

решение2

Если ваша оболочка поддерживает псевдонимы (см. раздел комментариев), вы можете использовать псевдонимы:

alias sshserv1='ssh [email protected]'
alias sshserv2='ssh [email protected]'

~/.bashrcНапример , вы бы поместили их в свой .

Более подробная информация здесь: http://tldp.org/LDP/abs/html/aliases.html

Альтернатива: блестящий hstrинструмент (здесь:https://github.com/dvorka/hstr) — отличный поисковик по истории команд, превосходящий Ctrl+R по всем параметрам.

Связанный контент