De quantas formas diferentes você pode criar um “alias” no Bash?

10

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?

    
por etherice 31.07.2013 / 18:52

1 resposta

10

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
    
por 31.07.2013 / 18:54