Beispiel:In Ubuntu gibt es immer eine .local
Verzeichnis im Home-Verzeichnis und .profile
beinhaltet diese Zeile:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
$HOME/.local/bin
ist standardmäßig nicht vorhanden, aber wenn es erstellt wird, befindet es sich bereits in $PATH
und ausführbare Dateien darin gefunden werden können.
Dies wird in der XDG-Verzeichnisspezifikation nicht genau erwähnt, scheint aber davon abgeleitet zu sein.
Ich frage mich, ob dies so häufig vorkommt, dass davon ausgegangen werden kann, dass es in den gängigsten Endbenutzer-Distributionen vorhanden ist. Ist es zum Beispiel in allen Debian-Derivaten oder zumindest in den Ubuntu-Derivaten? Wie sieht es mit dem Red Hat/Fedora/CentOS-Ökosystem aus? Und so weiter mit Arch, Suse und was die Leute heutzutage benutzen.
Um es noch deutlicher zu machen, dies gilt nur für $HOME/.local/bin
, nicht $HOME/bin
.
Aus Neugier können Sie BSDs, OS/X und andere einbeziehen, wenn Sie die Informationen haben. 🙂
Akzeptierte Antwort:
Der ~/.local
Verzeichnisse ist Teil der systemd-Dateihierarchie-Spezifikation und eine Erweiterung der xdg-Benutzerverzeichnis-Spezifikation
Es kann als von Debian abgeleitete Pakete für bash
verwirrend sein ~/.local
verloren Pfad, als sie auf Bash 4.3 umbasierten, hatten sie ihn in Bash 4.2.
Es ist ein Fehler, und seit einiger Zeit befindet sich ein Patch im Debian-System.
Dieser Fehler ist der Grund, warum Ubuntu 16.04 ~/.local im Pfad hatte und Ubuntu 17.04 nicht.
Wenn Sie systemd-path
ausführen als Benutzer und Sie werden sehen, dass es im Pfad enthalten sein soll.
$ systemd-path user-binaries
/home/foo/.local/bin
Theoretisch lautet die Antwort auf Ihre Frage Jede Distribution, die systemd verwendet oder die Kompatibilität mit systemd beibehalten möchte.
Weitere Informationen finden Sie in file-hierarchy(7)