Odpowiedzi:
which
przeszuka twoją ścieżkę w poszukiwaniu dostarczonych argumentów, można ją znaleźć w prawie każdym systemie BSD lub SysV UNIX
moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false
which
nie daje żadnych wyników dla skryptu niestandardowego (który jest w $PATH
). type
robi.
Jeśli użyjesz wbudowanego basha type
, wyświetli on wszystkie lokalizacje (w ścieżce) dla polecenia:
$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls
$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf
$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch
Jeśli polecenie jest funkcją, wyświetli się definicja funkcji:
$ type -a somefunc
somefunc is a function
somefunc ()
{
echo "hello, world"
}
Te przykłady pochodzą z systemu Ubuntu, ale wyniki będą podobne dla OS X.
which
nie wyświetla ścieżki do niestandardowego skryptu (który jest w $PATH
). type
robi.
spróbuj „zlokalizuj zidentyfikować”
To zależy od tego, czego szukasz. Większość narzędzi zależy od zmiennej ścieżki. Jeśli jednak to, czego szukasz, jest na twojej drodze, to tak naprawdę nie musisz wiedzieć, gdzie to jest, chyba że istnieje wiele kopii tego samego pliku wykonywalnego.
Nie dotyczy to większości rzeczy działających w OSX, ponieważ nie działają one tak jak normalne pliki binarne linux / unix. Oto kilka metod znajdowania rzeczy, których nie ma w instrukcji path.
odnaleźć:
sudo find / -name <FILE>
Znajduje to wszystko, co istnieje w systemie plików, który podajesz jako pierwszy argument. Musi działać jako root, aby przeszukiwać prywatne katalogi. Obsługuje również symbole wieloznaczne, jeśli nie jesteś całkowicie pewien nazwy.
Terminal:
Jeśli masz plik w wyszukiwarce, możesz otworzyć okno terminala i upuścić plik w nim. Terminal następnie wyświetli pełną ścieżkę do pliku.
Reflektor:
Dość oczywiste. Przekazujesz cykle procesora, aby zachować indeks twojego fi
which
Komenda choć praca będzie na ogół nie jest właściwym narzędziem do wykorzystania zrobić ten rodzaj pracy. Zobacz poniższe pytania i odpowiedzi dotyczące U&L: unix.stackexchange.com/questions/85249/…