Suche…


Syntax

  • Pfad hinzufügen: PATH = $ PATH: / new / path
  • Fügen Sie folgenden Pfad hinzu: PATH = / new / path: $ PATH

Parameter

Parameter Einzelheiten
PFAD Pfadumgebungsvariable

Bemerkungen

Bash-Konfigurationsdatei:

Diese Datei wird beim Start einer neuen interaktiven Bash-Shell abgerufen.

In GNU / Linux-Systemen handelt es sich im Allgemeinen um die Datei ~ / .bashrc. Bei Mac ist es ~ / .bash_profile oder ~ / .profile

Export:

Die PATH-Variable muss einmal exportiert werden (standardmäßig). Sobald es exportiert ist, bleibt es exportiert und alle an ihm vorgenommenen Änderungen werden sofort übernommen.

Änderungen übernehmen:

Um Änderungen an einer Bash-Konfigurationsdatei zu übernehmen, müssen Sie diese Datei in ein Terminal laden ( source /path/to/bash_config_file ).

Fügen Sie der Umgebungsvariable PATH einen Pfad hinzu

Die PATH-Umgebungsvariable ist im Allgemeinen in ~ / .bashrc oder ~ / .bash_profile oder / etc / profile oder ~ / .profile oder /etc/bash.bashrc (entfernungsspezifische Bash-Konfigurationsdatei) definiert.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/jdk1.8.0_92/bin:/usr/lib/jvm/jdk1.8.0_92/db/bin:/usr/lib/jvm/jdk1.8.0_92/jre/bin

Wenn wir nun einen Pfad (zB ~/bin ) zur PATH-Variable hinzufügen wollen:

PATH=~/bin:$PATH
# or
PATH=$PATH:~/bin

Dies ändert jedoch den PATH nur in der aktuellen Shell (und ihrer Subshell). Sobald Sie die Shell verlassen haben, ist diese Änderung weg.

Um es dauerhaft zu machen, müssen wir dieses Bit in die Datei ~ / .bashrc (oder was auch immer) einfügen und die Datei neu laden.

Wenn Sie den folgenden Code (im Terminal) ausführen, wird ~/bin dauerhaft zum PATH hinzugefügt:

echo 'PATH=~/bin:$PATH' >> ~/.bashrc && source ~/.bashrc

Erläuterung:

  • echo 'PATH=~/bin:$PATH' >> ~/.bashrc fügt am Ende der Datei echo 'PATH=~/bin:$PATH' >> ~/.bashrc die Zeile PATH=~/bin:$PATH hinzu (Sie können dies auch mit einem Texteditor machen)
  • source ~/.bashrc lädt die Datei ~ / .bashrc neu

Dies ist ein bisschen Code (in Terminal ausgeführt), der überprüft, ob ein Pfad bereits enthalten ist, und den Pfad nur hinzufügen, wenn nicht:
path=~/bin            # path to be included
bashrc=~/.bashrc      # bash file to be written and reloaded
# run the following code unmodified
echo $PATH | grep -q "\(^\|:\)$path\(:\|/\{0,1\}$\)" || echo "PATH=\$PATH:$path" >> "$bashrc"; source "$bashrc"

Entfernen Sie einen Pfad aus der Umgebungsvariable PATH

Um einen PATH aus einer PATH-Umgebungsvariablen zu entfernen, müssen Sie die Datei ~ / .bashrc oder ~ / .bash_profile oder / etc / profile oder ~ / .profile oder /etc/bash.bashrc (distro-spezifisch) bearbeiten und die Zuweisung entfernen dieser bestimmte Weg.

Anstatt die genaue Zuweisung zu finden, können Sie im letzten Schritt einfach den $PATH ersetzen.

Folgendes wird $path sicher aus $PATH entfernen:

path=~/bin
PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"

Um es dauerhaft zu machen, müssen Sie es am Ende Ihrer bash-Konfigurationsdatei hinzufügen.


Sie können es auf funktionelle Weise tun:
rpath(){
    for path in "$@";do
        PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"
    done
    echo "$PATH"
}

PATH="$(rpath ~/bin /usr/local/sbin /usr/local/bin)"
PATH="$(rpath /usr/games)"
# etc ...

Dies erleichtert die Handhabung mehrerer Pfade.

Anmerkungen:

  • Sie müssen diese Codes in die Bash-Konfigurationsdatei einfügen (~ / .bashrc oder was auch immer).
  • Führen Sie source ~/.bashrc , um die Bash-Konfigurationsdatei (~ / .bashrc) source ~/.bashrc zu laden.


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow