Kilka dni temu byłem zadowolony z mojej odpowiedzi. Wiedziałem również, że which
polecenie nie jest używane do testowania, czy polecenie istnieje. Teraz moja odpowiedź nie jest tak zadowolona i odnoszę się do tej wspaniałej odpowiedzi .
Za pomocą prostego which
polecenia:
which foo.sh
Lub type
polecenie:
type foo.sh
Możesz na to wpływać poprzez kolejność ścieżek w ścieżce $PATH
lub ścieżkę bezwzględną, gdy skrypt zaczyna się, np
/home/user/scripts/foo.sh
Przykład
Jeśli ŚCIEŻKA jest zdefiniowana jak poniżej
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
I zaczynasz skrypt lub coś innego, co jest w /usr/local/bin
środku /usr/bin
, skrypt /usr/local/bin
ma wyższy priorytet.
bash
izsh
tam równieżtype
wbudowany; zamiast tego wzsh
which
, inaczej niżbash
, jest wbudowany (i nie/usr/bin/which
)