Então, como só quero saber como preencher automaticamente os destinos de meus hosts no arquivo bash_history
, encontrei esse recurso com a esperança de ajudar qualquer pessoa na mesma situação.
Basta executar a seguinte linha
$ complete -W "$(echo $(grep '^ssh ' .bash_history | sort -u | sed 's/^ssh //'))" ssh
-
complete
- é uma função interna do bash. Portanto, não há um binário no sistema. Ele manipula como os comandos serão concluídos ao pressionar
-
-W
- crie uma lista de palavras de preenchimento automático
-
grep '^ssh' .bash_history
- retorna todas as linhas que começam com ssh de .bash_history
file
-
sort -u
- faz as linhas de saída uniq
-
sed 's/^ssh //'
- remove o início ssh
da string de cada linha
-
ssh
- ao executar o comando ssh
Se você não apenas ssh hostname
e usar outras pessoas, como ssh user@hostname
ou ssh user@hostname -p 2222
, deverá jogar com os recursos regex
e grep|sed
para manter apenas o hostname
ou o que você deseja preencher automaticamente
Insira a linha completa no seu arquivo .bashrc
para que você tenha o recurso de preenchimento automático a cada vez que iniciar uma sessão.