Чтобы развернуть: опция -a сообщает о ВСЕХ совпадениях в вашем PATH. Вот для чего это. Если, как отмечалось, ваш $ PATH ссылается на одно и то же место более одного раза, или один и тот же исполняемый файл находится в нескольких местах, он будет отображаться несколько раз с -a (но не при отсутствии этой опции).
SuperMagic
2
Как подсказывает подсказка и цитируя со страницы справочника, "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)."Что касается -aопции, в ней перечислены все исполняемые файлы с таким именем, найденные в $ PATH.
Ответы:
Проверьте свой путь. Это не так сложно закончить с дубликатами в нем. Пример:
Это потому, что мой / bin является символической ссылкой на / usr / bin. Сейчас же:
Поскольку / usr / bin теперь находится в моем $ PATH дважды,
which -a
находит один и тот же bash дважды.источник
Как подсказывает подсказка и цитируя со страницы справочника,
"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)."
Что касается-a
опции, в ней перечислены все исполняемые файлы с таким именем, найденные в $ PATH.источник
Взгляните на свой путь:
На вашем пути есть повторяющиеся записи (или ruby устанавливается несколько раз в разных местах).
источник
Пытаться
whereis -b ruby
Если вы получаете тот же вывод, то проблема в вашем PATH.
источник