Eu só sei de duas maneiras: alias foo=bar
e function foo() { bar }
.
A razão pela qual estou perguntando é que - de repente, em uma das minhas sessões do bash - não consigo executar o ln
comando porque bash
está com erro -bash: /usr/local/.../ln: No such file or directory
(onde esta /usr/local/.../
é uma das entradas na minha PATH
variável de ambiente).
PATH
Porém, não é um problema, porque se eu executá- which ln
lo, gera o binário esperado de /usr/bin/ln
(o qual eu posso executar bem se especificar o caminho absoluto).
Eu também verificado para ln
nos meus alias
e function
declarações, e não há nada:
$ declare -f | grep ln
$ alias | grep ln
O problema está ocorrendo apenas em uma sessão do bash. Se eu iniciar um novo shell, ele funcionará bem novamente, mas quero saber o que causou esse problema de repente nesta sessão específica do bash.
Alguma idéia do que poderia estar causando isso?
type ln
, entendoln is hashed (/usr/local/.../ln)
qual parece ser o problema, mas o que significa exatamente que está "com hash"? Eu nunca ouvi falar desse recurso no bash.hash -l
comando É construído dinamicamente à medida que você usa comandos.hash -r
para redefinir a hashtable de comando para caminho eln
agora estou de volta ao funcionamento.