Unter Mac OS X sind die Standardwerte $PATH
:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Was sind die Standardwerte unter Linux?
Unter Mac OS X sind die Standardwerte $PATH
:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Was sind die Standardwerte unter Linux?
Antworten:
Bei einer Standard-Ubuntu-Desktop-Installation $PATH
ist:
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Aber in einer minimalen Chroot-Umgebung, die von erstellt wurde debootstrap
, $PATH
enthält nur:
# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin
Umgebungspfadwerte werden in der .bashrc- Datei in Ubuntu gespeichert .
Die systemweite PATH-Variable ist in definiert /etc/environment
Es gibt einen einfachen Weg, um herauszufinden:
printenv
Oder direkter:
echo $PATH
Wenn Sie jedoch nur nach schnellen Informationen suchen, legt Ubuntu normalerweise den Pfad fest zu:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / bin / X11: / usr / games:
Bei Fragen wie diesen können Sie die Antwort normalerweise durch Lesen der Bibel herausfinden .
Je nachdem, welches Linux Sie verwenden, kann dies unterschiedlich sein. Wenn Sie sich bereits bei einem Linux angemeldet haben, geben Sie einfach 'env' ein, um Ihre Umgebungsvariablen anzuzeigen.
Wenn Sie wissen möchten, wie die Variable PATH env erstellt wird, sehen Sie sich .bashrc und .bash_profile in Ihrem Home-Verzeichnis an. Wenn Sie neugieriger sind, können Sie auch / etc / profile, /etc/profile.d/* (falls vorhanden) und das Handbuch für bash (man bash) lesen.
bash
wird PATH
auf einen fest codierten Standardwert gesetzt, wenn er nicht in der Umgebung festgelegt ist:
$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Mit dem strings
Dienstprogramm können wir überprüfen, ob dieser Wert tatsächlich fest codiert ist und nicht aus der Umgebung oder einer Datei gelesen wird :
$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Auf meinem Arch Linux-Computer wird jedoch ein anderes Ergebnis angezeigt:
$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin
Es sieht also so aus, als ob diese Standardeinstellung zum Zeitpunkt der bash
Erstellung der Binärdatei ausgewählt wurde, was von der verwendeten Linux-Distribution abhängt.