GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So setzen Sie Ihre $PATH-Variable in Linux

Ihren $PATH bearbeiten können ist eine wichtige Fähigkeit für jeden beginnenden POSIX-Benutzer, egal ob Sie Linux, BSD oder macOS verwenden.

Wenn Sie unter Linux oder in anderen Linux-ähnlichen Betriebssystemen einen Befehl in die Eingabeaufforderung eingeben, sagen Sie ihm lediglich, dass er ein Programm ausführen soll. Sogar einfache Befehle wie ls , mkdir , rm , und andere sind nur kleine Programme, die normalerweise in einem Verzeichnis auf Ihrem Computer namens / gespeichert sind usr /bin . Es gibt andere Orte auf Ihrem System, die üblicherweise auch ausführbare Programme enthalten; Einige gebräuchliche sind / usr /local/bin , / usr /lokal/ sbin , und / usr / sbin . Welche Programme sich wo und warum befinden, würde den Rahmen dieses Artikels sprengen, aber Sie sollten wissen, dass ein ausführbares Programm praktisch überall auf Ihrem Computer existieren kann:Es muss nicht auf eines dieser Verzeichnisse beschränkt sein.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Wenn Sie einen Befehl in Ihre Linux-Shell eingeben, sucht sie nicht in jedem Verzeichnis nach einem Programm mit diesem Namen. Es sucht nur nach den von Ihnen angegebenen. Woher weiß es, in den oben genannten Verzeichnissen zu suchen? Ganz einfach:Sie sind Teil einer Umgebungsvariablen namens $PATH , die Ihre Shell überprüft, um zu wissen, wo sie suchen muss.

Anzeigen Sie Ihren PATH

Manchmal möchten Sie vielleicht Programme an anderen Orten auf Ihrem Computer installieren, sie aber einfach ausführen können, ohne ihren genauen Ort anzugeben. Sie können dies ganz einfach tun, indem Sie Ihrem $PATH ein Verzeichnis hinzufügen . Um zu sehen, was sich in Ihrem $PATH befindet Geben Sie jetzt Folgendes in ein Terminal ein:

echo $PATH

Sie werden wahrscheinlich die oben erwähnten Verzeichnisse sehen, sowie vielleicht einige andere, und sie sind alle durch Doppelpunkte getrennt. Jetzt fügen wir der Liste ein weiteres Verzeichnis hinzu.

Stellen Sie Ihren PFAD ein

Angenommen, Sie haben ein kleines Shell-Skript mit dem Namen hello.sh geschrieben und lassen Sie es in einem Verzeichnis namens /place/with/the/file liegen . Dieses Skript stellt allen Dateien in Ihrem aktuellen Verzeichnis einige nützliche Funktionen zur Verfügung, die Sie ausführen möchten, egal in welchem ​​Verzeichnis Sie sich befinden.

Fügen Sie einfach /place/with/the/file hinzu zum $PATH Variable mit dem folgenden Befehl:

export PATH=$PATH:/place/with/the/file

Sie sollten jetzt in der Lage sein, das Skript überall auf Ihrem System auszuführen, indem Sie einfach seinen Namen eingeben, ohne den vollständigen Pfad bei der Eingabe angeben zu müssen.

Stellen Sie Ihren PATH dauerhaft ein

Aber was passiert, wenn Sie Ihren Computer neu starten oder eine neue Terminalinstanz erstellen? Ihre Ergänzung zum Pfad ist weg! Dies ist beabsichtigt. Die Variable $PATH wird von Ihrer Shell bei jedem Start gesetzt, aber Sie können es so einstellen, dass es bei jeder neuen Shell, die Sie öffnen, immer Ihren neuen Pfad enthält. Die genaue Vorgehensweise hängt davon ab, welche Shell Sie ausführen.

Sie sind sich nicht sicher, welche Shell Sie ausführen? Wenn Sie so ziemlich jede gängige Linux-Distribution verwenden und die Standardeinstellungen nicht geändert haben, verwenden Sie wahrscheinlich Bash. Aber Sie können dies mit einem einfachen Befehl bestätigen:

echo $0

Das ist der "Echo"-Befehl, gefolgt von einem Dollarzeichen ($) und einer Null. $0 stellt das nullte Segment eines Befehls dar (im Befehl echo $0 , das Wort "echo" wird daher $1 zugeordnet), oder mit anderen Worten, das Ding, das Ihren Befehl ausführt. Normalerweise ist dies die Bash-Shell, obwohl es auch andere gibt, darunter Dash, Zsh, Tcsh, Ksh und Fish.

Für Bash müssen Sie einfach die Zeile von oben hinzufügen, export PATH=$PATH:/place/with/the/file , in die entsprechende Datei, die gelesen wird, wenn Ihre Shell gestartet wird. Es gibt ein paar verschiedene Stellen, an denen Sie den Variablennamen setzen könnten:möglicherweise in einer Datei namens ~/.bash_profile , ~/.bashrc , oder ~/.profile. Der Unterschied zwischen diesen Dateien besteht (hauptsächlich) darin, wann sie von der Shell gelesen werden. Wenn Sie sich nicht sicher sind, wo Sie es ablegen sollen, ~/.bashrc ist eine gute Wahl.

Bei anderen Shells sollten Sie den geeigneten Ort finden, um eine Konfiguration zur Startzeit festzulegen. Die ksh-Konfiguration befindet sich normalerweise in ~/.kshrc verwendet zsh ~/.zshrc . Sehen Sie in der Dokumentation Ihrer Shell nach, welche Datei sie verwendet.

Dies ist eine einfache Antwort, und es gibt noch mehr Macken und Details, die es wert sind, gelernt zu werden. Wie fast alles in Linux gibt es mehr als eine Möglichkeit, Dinge zu tun, und Sie finden möglicherweise andere Antworten, die den Anforderungen Ihrer Situation oder den Besonderheiten Ihrer Linux-Distribution besser entsprechen. Viel Spaß beim Hacken und viel Glück, wo auch immer Ihr $PATH ist kann dich nehmen.


Dieser Artikel wurde ursprünglich im Juni 2017 veröffentlicht und vom Herausgeber mit zusätzlichen Informationen aktualisiert.


Linux
  1. Erfahren Sie, wie Sie Ihre $PATH-Variablen unter Linux dauerhaft festlegen

  2. So machen Sie Ihr Linux-Terminal und Ihre Shell weihnachtlich

  3. Linux-Umgebungsvariablen:Lesen und Festlegen auf einem Linux-VPS

  4. So legen Sie $PATH in Linux dauerhaft fest

  5. Wie setze ich $PATH dauerhaft unter Linux/Unix?

So setzen/löschen Sie Umgebungsvariablen in Linux

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

So ändern Sie eine Benutzer-Shell in Linux

So richten Sie einen Rsync-Daemon auf Ihrem Linux-Server ein

So richten Sie eine Firewall auf Ihrem Linux-Server ein

So legen Sie $PATH im Linux-System dauerhaft fest