Réponses:
Vérifiez votre chemin. Ce n'est pas si difficile de se retrouver avec des doublons. Exemple:
»echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:
»which -a bash
/bin/bash
/usr/bin/bash
C'est parce que mon / bin est un lien symbolique vers / usr / bin. Maintenant:
»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
Puisque / usr / bin est maintenant dans mon $ PATH deux fois, which -a
trouve le même bash deux fois.
Comme l'indique l'indication, et en citant la page de manuel, "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)."
quant à l' -a
option, elle répertorie tous les exécutables de ce nom trouvés dans $ PATH.