So setzen Sie die Variable $PATH in Linux
Die Variable $PATH ist eine entscheidende Komponente unter Linux und anderen Unix-ähnlichen Betriebssystemen. Es gibt eine Liste von Verzeichnissen an, die verschiedene ausführbare Dateien auf dem System enthalten, und teilt der Shell mit, wo sie nach diesen ausführbaren Dateien suchen soll.
Bei einer frischen Linux-Installation sorgen die in $PATH enthaltenen Verzeichnisse dafür, dass die meisten Programme, die Sie ausführen, fehlerfrei funktionieren. Es kann jedoch vorkommen, dass Sie schnell benutzerdefinierte Skripts oder Programme auf Ihrem System ausführen möchten.
In solchen Fällen müssen Sie die Variable $PATH entsprechend festlegen, bevor Sie diese Programme ausführen.
Was ist $PATH unter Linux?
Wie oben erwähnt, ist $PATH eine Umgebungsvariable in Linux, die eine durch Doppelpunkte getrennte Liste von Verzeichnissen umfasst, auf die die Linux-Shell verweist, wenn sie einen Befehl oder einen exec-Aufruf von einem Programm empfängt.
Normalerweise enthält die Variable $PATH die Verzeichnisse /bin , /usr/bin und /usr/local/bin , wobei der Superuser zwei weitere Einträge erhält, nämlich /sbin und /usr/sbin . Sie können Ihrer Variablen $PATH jedoch neue Einträge hinzufügen, um unabhängig vom aktuellen Arbeitsverzeichnis bequem Skripte und Programme vom Terminal aus zu starten.
Warum sollten Sie $PATH festlegen?
Im Großen und Ganzen funktionieren die meisten Programme, die Sie jemals auf Ihrem Linux-System ausführen werden, fehlerfrei, und Ihre Shell zeigt zum Zeitpunkt ihrer Ausführung keine Fehler an. Wenn Sie beispielsweise den Befehl ls ausführen, führt die Shell ihn fehlerfrei aus, ohne dass Sie den vollständigen Pfad des Befehls angeben müssen.
Wenn Sie jedoch ein benutzerdefiniertes Skript ausführen müssen, können Sie den Befehl exec nicht wie zuvor mit dem Befehl ls deklarieren. Stattdessen müssen Sie entweder zum Verzeichnis des Skripts (über das Terminal) navigieren und den Befehl von dort aus ausführen, oder, wenn Sie den Befehl von überall auf dem System ausführen möchten, den absoluten Pfad des Skripts angeben in den Befehl, um der Shell zu helfen, es zu finden.
Obwohl beide Methoden gut funktionieren, sind sie nicht sehr effizient und können den gesamten Prozess schnell zu einer mühsamen Routine machen. Eine alternative (leseeffiziente und effektive) Möglichkeit, Programme aus nicht standardmäßigen Verzeichnissen auszuführen, besteht darin, ihr Quellverzeichnis zum $PATH Ihrer Shell hinzuzufügen, damit diese weiß, wo das Skript zu finden ist, und sie daher schnell ausführen kann.
So setzen Sie die Variable $PATH in Linux
Je nachdem, was Sie erreichen möchten – ob es sich um ein temporäres Setup handelt, um ein Skript nur einmal auszuführen, oder ob Sie das Skript regelmäßig verwenden möchten – gibt es verschiedene Möglichkeiten, Ihrem $PATH ein Verzeichnis hinzuzufügen.
1. Variable $PATH temporär einstellen
Wenn Sie ein Skript oder ein Programm nur in Ihrer aktuellen (aktiven) Sitzung ausführen möchten, können Sie eine temporäre $PATH-Variable setzen. Wenn Sie dies tun, können Sie dieses Programm mit einem Befehl von überall auf Ihrem System ausführen, ohne seinen vollständigen Pfad im Befehl angeben zu müssen, sondern nur in der aktuellen Sitzung.
Um eine $PATH-Variable vorübergehend festzulegen, öffnen Sie das Terminal und verwenden Sie die folgende Syntax, um der Variablen Verzeichnisse hinzuzufügen:
export PATH=$PATH:/path/to/directory
Beispielsweise:
export PATH=$PATH:/home/smithy/scripts/
Beachten Sie, dass Sie mit dieser Konfiguration das Programm nur in Ihrer aktiven Sitzung ausführen können. Wenn Sie Ihre $PATH-Variable vorübergehend festlegen, setzt das System sie nach dem Neustart Ihres Computers auf die Standardeinstellung zurück.
2. Festlegen einer permanenten $PATH-Variablen
Wenn sich auf Ihrem System ein Programm befindet, das Sie wahrscheinlich häufig verwenden, müssen Sie die Variable $PATH dauerhaft dafür setzen. Dadurch wird sichergestellt, dass sich Ihre Shell ihr Verzeichnis auch nach einem Neustart merkt.
Im Gegensatz zur temporären Lösung erfordert das dauerhafte Festlegen von $PATH jedoch einige zusätzliche Schritte: Identifizieren Sie die verwendete Shell, bearbeiten Sie die entsprechende Konfigurationsdatei und setzen Sie dort die Variable $PATH.
Um die Shell auf Ihrem System zu identifizieren, führen Sie den folgenden Befehl im Terminal aus:
echo $0
Als Ausgabe sollte der Name Ihrer aktiven Shell angezeigt werden. In den meisten Fällen ist dies die Bash-Shell , es sei denn, Sie haben sie in Zsh, Ksh oder eine andere Linux-Shell geändert.
Basierend auf der verwendeten Shell müssen Sie nun deren Konfigurationsdatei bearbeiten. Hier ist, welche Datei Sie basierend auf Ihrer Shell bearbeiten müssen:
Shell-Name | Konfigurationsdatei |
---|---|
bash | ~/.bashrc |
ksh | ~/.kshrc |
zsh | ~/.zshrc |
csh | ~/.cshrc |
Im Fall einer anderen Shell sehen Sie in der Dokumentation nach, um den Namen der Konfigurationsdatei herauszufinden.
Nachdem Sie die zu bearbeitende Datei festgelegt haben, führen Sie die folgenden Schritte aus, um die Variable $PATH festzulegen. In diesem Handbuch zeigen wir, wie Sie die Variable $PATH in der Bash-Shell einrichten.
- Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein, um die .bashrc- Datei zu öffnen. Sie können einen beliebigen Linux-Texteditor Ihrer Wahl verwenden.
nano ~/.bashrc
- Verwenden Sie die folgende Syntax, um die Variable $PATH festzulegen.
export PATH=$PATH:/path/to/directory/
- Speichern Sie die Datei und aktualisieren Sie die aktuelle Shell-Umgebung mit source .
source ~/.bashrc
- Geben Sie den folgenden Befehl ein, um zu überprüfen, ob das Verzeichnis hinzugefügt wurde oder nicht.
echo $PATH
Wenn Sie den Verzeichnispfad richtig eingegeben haben, wird er im $PATH Ihres Systems angezeigt, und Sie sollten in der Lage sein, alle Skripts innerhalb des Ordners von jedem Verzeichnis auf Ihrem System aus auszuführen.
Außerdem erlaubt Linux Ihnen auch, die Variable $PATH dauerhaft in einer systemweiten Konfiguration zu setzen, so dass jeder Benutzer auf Ihrem System auf die benutzerdefinierten Skripte zugreifen und diese ausführen kann, die im angegebenen Verzeichnis vorhanden sind.
Um $PATH global festzulegen, müssen Sie das Verzeichnis mit dem gleichen Befehl hinzufügen, den Sie beim Hinzufügen des temporären und permanenten Setups verwendet haben, jedoch entweder in der /etc/environment- oder der /etc/profile- Datei.
Öffnen Sie eine dieser Dateien und hängen Sie den Pfad des Verzeichnisses an:
nano /etc/environment
nano /etc/profile
Erfolgreiches Festlegen des $PATH in Linux
Mit den obigen Schritten können Sie den $PATH Ihres Systems so einstellen, dass er nach Skripts in Verzeichnissen sucht, die ansonsten nicht spezifiziert sind.
In den meisten Fällen empfehlen wir Ihnen, die Variable $PATH auf Ihrem System dauerhaft in einer benutzerspezifischen Konfiguration zu setzen, da dies die effizienteste der beiden Methoden ist.
Denken Sie auch daran, dass Sie die Variable $PATH in einer systemweiten Konfiguration nicht setzen müssen, es sei denn, es gibt ein bestimmtes Programm auf Ihrem System, auf das Sie global zugreifen möchten. Die Befehle " locate" und " find" in Linux sind ein Lebensretter, wenn Sie Probleme haben, das Quellverzeichnis zu finden, das der Variablen $PATH hinzugefügt werden soll.