В дополнение к утилитам which (MS Windows) и where (unix / linux) я написал свою собственную утилиту, которую я называю findinpath. В дополнение к поиску исполняемого файла , который будет выполнен, при передаче интерпретатору командной строки (CLI) он найдет все совпадения и вернет порядок поиска пути, чтобы вы могли найти проблемы порядка пути. Кроме того, моя утилита возвращает не только исполняемые файлы, но и любые совпадения спецификаций файлов, чтобы отследить те моменты, когда требуемый файл фактически не является исполняемым.
Я также добавил функцию, которая оказалась очень изящной; флаг -s указывает ему искать не только системный путь, но и все на системном диске, исключая известные пользовательские каталоги. Я обнаружил, что эта функция невероятно полезна в задачах системного администрирования ...
Вот вывод «использования»:
usage: findinpath [ -p <path> | -path <path> ] | [ -s | -system ] <file>
or findinpath [ -h | -help ]
where: <file> may be any file spec, including wild cards
-h or -help returns this text
-p or -path uses the specified path instead of the PATH environment variable.
-s or -system searches the system disk, skipping /d /l/ /nfs and /users
Написание такой утилиты несложно, и я оставлю ее в качестве упражнения для читателя. Или, если меня спросят, я выложу свой скрипт - он в 'bash'.