Export-PFAD funktioniert nicht in einer bash-shell unter linux

Ich zum Beispiel geben Sie den folgenden Befehl ein:

         # PATH=$PATH:/var/test
         # echo $PATH
           ........./var/test       // working
         # export PATH

Nächsten, öffne ich ein weiteres bash-shell-Sitzung, um zu testen, ob der export funktioniert, indem Sie den folgenden Befehl eingeben:

         # echo $PATH
          ........      // not working as in I don't see /var/test path
InformationsquelleAutor Yet A-beyene | 2016-03-09



One Reply
  1. 6

    gesetzt PATH environment-variable nur für die aktuelle bash Sitzung. Sie müssen fügen Sie die Zeile PATH=$PATH:/var/test in ~/.bashrc so dass es funktioniert für alle bash shell.

    Einfach den folgenden Befehl ausführen, um Sie in Ihrer rc(Befehle ausführen) Datei (. rc-Dateien enthalten die Startinformationen für ein Kommando(Initialisierung)):

    echo "PATH=$PATH:/var/test" >> ~/.bashrc

    Mehr info: https://en.wikipedia.org/wiki/Run_commands

    https://superuser.com/questions/789448/choosing-between-bashrc-profile-bash-profile-etc

    exporting eine variable verfügbar macht, die nur in der Kind-Prozesse spwaned/Schritte aus, die die bash-shell.

    Als Beispiel:

    $ export var=abcd
    $ sh
    $ echo "$var"
    abcd
    $ exit
    $ echo "$var"
    abcd
    $

    sh wird der Kind-Prozess von bash daher bekommt es den Wert von var, da öffnen Sie ein neues bash das ist ein anderer Prozess insgesamt ist es nicht die PATH Wert.

    • Ich dachte, der Zweck der Ausfuhr ist es in allen Schalen, richtig?
    • export verwendet wird, um es im späteren Kindes-Schalen
    • vielen Dank für die Aufklärung meines Missverständnisses export
    • Ich benutze ein system weit bashrc in /etc/profile.lokale, die nicht bezogen werden, in ein bash-Skript. Diese Methode kann besser arbeiten, wenn Sie brauchen, um dies zu tun, das über viele Benutzer-oder access-benutzerdefinierte Konfiguration-Elemente in einem login-Skript, das Sie keine Kontrolle haben. Da /etc/profile.local ist ein login-Skript, das erhält, stammen, müssen Sie rufen Sie Ihr Skript mit #!/bin/bash -l-Quelle, jedoch wird diese Skripts werden im inneren finden Sie die Befehle langsamer ausgeführt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.