Jawaban:
Periksa jalanmu. Tidak sulit untuk mendapatkan duplikat di dalamnya. Contoh:
»echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:
»which -a bash
/bin/bash
/usr/bin/bash
Ini karena / bin saya adalah symlink ke / usr / bin. Sekarang:
»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
Karena / usr / bin sekarang di $ PATH saya dua kali, which -a
menemukan bash yang sama dua kali.
Seperti petunjuknya, dan mengutip dari halaman 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)."
Adapun -a
opsi, itu daftar semua executable dengan nama yang ditemukan di $ PATH.