Springen wir mal wieder in die wunderbare Welt von Linux (oder Unix, oder BSD, oder …). Ich habe ein Verzeichnis mit selbstgeschriebenen Shell-Skripten, die ich gerne global, und somit ohne Angabe des Verzeichnisses, aufrufen möchte. Wie immer führen viele Wege nach Rom, ich entscheide mich für die Erweiterung der Shell-Variable $PATH.
In $PATH sind alle Pfade gespeichert, in denen sich Binaries befinden, die systemweit aufrufbar sind. Zum Beispiel das Verzeichnis-Listing-Programm „ls“ befindet sich (auf jeden Fall bei Debian) unter „/bin/“. Damit man nicht immer „/bin/ls“ eintippen muss, ist „/bin/“ in der $PATH-Umgebungsvariable enthalten.
On-The-Fly erweitern der $PATH-Variable:
export PATH=$PATH:/mein/verzeichnis/
Der Nachteil dabei ist, dass diese Aktion beim nächsten Logout „verfällt“. Man könnte nun in ein Shell-Startskript (z.B. .bashrc) diese Aktion hinterlegen, was ich allerdings als unschön empfinde.
/etc/profile erweitern
In der Datei „/etc/profile“ wird die Variable $PATH für jeden normalen Benutzer festgelegt. Hier kann man sie erweitern.
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/mein/verzeichnis"
Das sollte allerdings keine Auswirkungen auf den „root„-User haben. Für den root-Benutzer. Für Bourne-kompatible Shells kann dazu die Datei /root/.profile erweitert werden.