kiedy piszę w terminalu
echo $PATH
moja produkcja to
:/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin
ale kiedy piszę tylko:
$PATH
to wyjście nie rozumiem dobrze, wyjście to:
bash: :/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin: No such file or directory
a moje pytanie brzmi: dlaczego napisał „Nie ma takiego pliku lub katalogu?” istnieje każdy katalog ze zmiennej PATH.
$PATH
które zasadniczo wydrukowałoby zmienną na ekranie bez próby jej wykonania, jednak tak nie jest.W Linuksie terminal czeka na
command
, $ PATH nie jest poleceniem, jestvariable
.Kiedy piszesz
echo $PATH
, pytasz o zawartość zmiennej, a polecenieecho
wyświetla się na ekranie.źródło
Zmienna
$PATH
zawiera wiele katalogów oddzielonych dwukropkami. Powłoka oczekuje jako plikucd
wejściowego pliku wykonywalnego lub innego polecenia (np. Polecenia wbudowanego w powłokę ). Polecenia takie jakls
icat
to tylko pliki wykonywalne znajdujące się w jednym z katalogów $ PATH. Wiele katalogów połączonych ze sobą dwukropkami na ogół nie tworzy właściwej ścieżki pliku UNIX. Uwaga: jeśli wpiszesz tylko jeden katalog bez dwukropka, uzyskasz inny wynik.źródło