
Adicionei meu script a /usr/bin e ele será executado conforme esperado se eu digitar o nome completo do comando. Como faço para que o terminal preencha automaticamente o nome do comando?
Responder1
hash -r
ou abra um novo shell.
Quando seu shell é iniciado, ele verifica PATH
e armazena em cache os nomes e locais dos programas que encontra; quando você solicita a execução de um programa, ele verifica primeiro seu cache e, se encontrar o local, não precisa verificar todos os diretórios em seu caminho, o que consome bastante tempo. Bash usa os resultados da verificação inicial para conclusão de tabulação de comando (e não o atualiza quando você executa um novo programa), então seu programa não chegará lá até que você abra uma nova sessão ou diga para ele refazer o caminho.
Nb para futuros buscadores de respostas: em zsh, userehash