Respostas:
Verifique seu caminho. Não é tão difícil acabar com duplicatas. Exemplo:
»echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:
»which -a bash
/bin/bash
/usr/bin/bash
Isso ocorre porque meu / bin é um link simbólico para / usr / bin. Agora:
»export PATH=$PATH:/usr/bin
»echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/bin
»which -a bash
/bin/bash
/usr/bin/bash
/usr/bin/bash
Como / usr / bin agora está no meu $ PATH duas vezes, which -a
encontra o mesmo bash duas vezes.
Como a dica diz, e citando a partir da página de manual, "Which takes one or more arguments. For each of its arguments it prints to stdout the full path of the executables that would have been executed when this argument
had been entered at the shell prompt. It does this by searching for an executable or script in the directories listed in the environment variable PATH using the same
algorithm as bash(1)."
Quanto à -a
opção, lista todos os executáveis com esse nome, encontrados em $ PATH.