В дополнение к «который» (MS Windows) и «где» (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».
Спасибо - короткий, но сладкий, я знал, что есть простой инструмент командной строки для него ...! – ljs 2008-10-12 15:20:00
Для какой ОС? Я не могу найти «where.exe» где-нибудь в моей системе Windows XP. – 2008-10-13 12:18:26
WHERE.EXE поставляется с Windows XP Server 2003 и выше, а также комплекты ресурсов Windows с момента запуска Win2K. Он также включен в VS2005, но не в 2008 году (C: \ Program Files \ Microsoft Visual Studio 8 \ Common7 \ Tools \ Bin \ Where.Exe). – raven 2008-10-13 18:42:12