Tenha cuidado ao usar o comando which . Melhor usar o comando type ... .
$ type ln
ln is /bin/ln
Você também pode usar o comando whereis :
$ whereis ln
ln: /bin/ln /usr/share/man/man1p/ln.1p.gz /usr/share/man/man1/ln.1.gz
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 bash - não consigo executar o comando ln porque bash está com erros com -bash: /usr/local/.../ln: No such file or directory (onde o /usr/local/.../ é um das entradas na minha variável de ambiente PATH ).
Não é um problema de PATH , porque se eu executar which ln , ele gerará o binário esperado de /usr/bin/ln (que eu posso executar bem se especificar o caminho absoluto).
Também verifiquei ln em minhas declarações alias e function , e não há nada:
$ declare -f | grep ln
$ alias | grep ln
O problema está ocorrendo apenas em uma sessão bash. Se eu iniciar um novo shell, ele funcionará bem novamente, mas eu 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?