Как запустить "другой" исполняемый файл с тем же именем, что и в PATH?
Есть ли краткий способ вызвать "другой" исполняемый файл для find
доступно в пути, который можно найти с where
?
C:\repos>where find
C:\Windows\System32\find.exe
C:\Program Files\Git\usr\bin\find.exe
C:\Users\Qwerty\cmd\UnxUtils_wbin\find.exe
Например что-то вроде find~2
или подражатель whereget find -n 2 -- <arguments for find here>
2 ответа
Вызов исполняемого файла без полного пути всегда найдет и использует первое подходящее имя файла путем поиска в каталогах в $PATH
, Для вашего примера, если вы всегда хотите использовать git find
, просто убедитесь, что путь к нему появляется в вашем $PATH
до Windows find
, Если это неудовлетворительно или невозможно (например, из-за политики), вы должны либо создать псевдоним в bash
для этого, или всегда вызывайте его, используя полный путь.
Я просто положу это здесь
$ alias whereget='_whereget() { A=$1; B=$2; shift 2; eval \"$(where $B | head -$A | tail -1)\" $@; }; _whereget'
$ whereget 2 find . -type d
К сожалению, это решение работает только в bash, а не в Windows cmd.