Câu trả lời:
Kiểm tra đường dẫn của bạn. Không khó để kết thúc với các bản sao trong đó. Thí dụ:
»echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:
»which -a bash
/bin/bash
/usr/bin/bash
Điều này là do / bin của tôi là một liên kết tượng trưng đến / usr / bin. Hiện nay:
»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
Vì / usr / bin hiện ở trong $ PATH của tôi hai lần, nên which -a
tìm thấy bash tương tự hai lần.
Như gợi ý nói và trích dẫn từ trang hướng dẫn, "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)."
Đối với -a
tùy chọn, nó liệt kê tất cả các tệp thực thi theo tên đó được tìm thấy trong $ PATH.