W systemie Mac OS X $PATH
wartości domyślne to:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Jakie są wartości domyślne w systemie Linux?
W systemie Mac OS X $PATH
wartości domyślne to:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Jakie są wartości domyślne w systemie Linux?
Odpowiedzi:
W domyślnej instalacji Ubuntu na pulpicie $PATH
:
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Ale w minimalnym środowisku chroot utworzonym przez debootstrap
, $PATH
zawiera tylko:
# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin
Wartości ścieżki środowiska są przechowywane w pliku .bashrc w Ubuntu.
Ogólnosystemowa zmienna PATH jest zdefiniowana w /etc/environment
Jest łatwy sposób, aby dowiedzieć się:
printenv
Lub bardziej bezpośrednio:
echo $PATH
Ale jeśli szukasz tylko szybkich informacji, Ubuntu zazwyczaj ustawia ścieżkę do:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / bin / X11: / usr / games:
W przypadku takich pytań zazwyczaj można odszukać odpowiedź, czytając Biblię .
W zależności od używanego systemu Linux może być inaczej. Jeśli masz już login do systemu Linux, po prostu wpisz „env”, aby zobaczyć zmienne środowiskowe.
Jeśli chcesz wiedzieć, w jaki sposób budowana jest zmienna PATH env, spójrz na .bashrc i .bash_profile w swoim katalogu domowym. Jeśli jesteś bardziej ciekawy, możesz również spojrzeć na / etc / profile, /etc/profile.d/* (jeśli istnieje) i podręcznik dla bash (man bash).
bash
ustawi PATH
stałą wartość domyślną, jeśli nie jest ustawiona w środowisku:
$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Możemy sprawdzić, czy ta wartość jest rzeczywiście zakodowana na stałe i nie jest odczytywana ze środowiska lub jakiegoś pliku, za pomocą strings
narzędzia:
$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Otrzymuję jednak inny wynik na moim komputerze Arch Linux:
$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin
Wygląda więc na to, że ta domyślna opcja jest wybierana w momencie bash
budowania pliku binarnego, co zależy od używanej dystrybucji Linuksa.