Ich verwende Ubuntu 11.04. Ich benutze das Terminal, um eine Bash-Sitzung zu starten, und ich möchte eine Umgebungsvariable hinzufügen:
$r@hajt:~$ env THEVAR=/example
Aber es funktioniert nicht. Es zeigt alle Variablen an, wobei THEVAR die letzte ist, aber ein weiterer Aufruf von env zeigt nicht THEVAR Mehr- env | grep THEVAR gibt nichts zurück.
Ebenso Skripte mit export (export THEVAR=/example) oder andere Variablenzuweisungen (THEVAR=/example) fügen Sie die Umgebungsvariable nicht hinzu.
Ich weiß, dass ich etwas falsch mache, ich weiß, dass es etwas Einfaches sein sollte, aber ich kann einfach nicht finden, was.
Um eine Umgebungsvariable einmal zu setzen, verwenden Sie die export befehl in der Eingabeaufforderung, nicht in einem Shell-Skript:
$ export THEVAR=/example
Die Variable wird für den Rest der Shell-Sitzung oder bis zur Deaktivierung gesetzt.
Um jedes Mal eine Umgebungsvariable festzulegen, verwenden Sie die export befehl im .bashrc datei (oder die entsprechende Initialisierungsdatei für Ihre Shell).
Um eine Umgebungsvariable aus einem Skript zu setzen, verwenden Sie die export befehl im Skript und dann source Skript. Wenn Sie das Skript ausführen, funktioniert es nicht.
Damit die Umgebungs- / Variablenänderungen nach Abschluss des Skripts bestehen bleiben, müssen Sie Folgendes verwendensource ./script.sh oder die Kurznotation für Quelle, ".", wie . ./script.sh
Source führt die Befehle im Skript so aus, als hätten Sie sie eingegeben... es ändert also einige Aspekte des Skripts, z. B. das Beenden... wenn Ihr Skript also etwas überprüft und beschließt, bei false zu beenden, z. B. durch Aufrufen exit 0, es wird Ihre aktuelle Terminal- / Shell-Sitzung beenden.
Ich weiß, es ist ziemlich spät, aber wenn Sie eine Umgebungsvariable für alle Benutzer hinzufügen möchten (z. B. JAVA-Verwendung), können Sie Folgendes tun:
1) Öffnen /etc/bash.bashrc mit Nano (Sie können jeden Editor verwenden, ich bevorzuge VIM nicht, da es in Bezug auf Benutzerfreundlichkeit das Schlimmste ist - nichts Persönliches).
2) An die Datei anhängen:
export VAR=path export PATH=$PATH:/bin3) (Besser, wenn Sie die Box bouncen können) - oder öffnen Sie einfach eine neue SSH-Sitzung und bestätigen Sie mit dem Befehl `env'.
WENN Sie jedoch möchten, dass jeder Benutzer eine separate Einstellung dafür hat, müssen Sie eine Änderung (Skript) vornehmen .bashrc datei unter ~/.bashrc (oder /home/$USER/ wenn Sie neu in Linux-Systemen sind)
Wenn Sie Dinge über ein Skript erledigen, können Sie die Umgebungsvariable auf einfache Weise dauerhaft festlegen, indem Sie die folgende Anweisung in Ihr Skript einfügen,
if [[ ! -d "$MyVar" ]]; then export MyVar="abc" echo 'export MyVar="abc"' >> ~/.bashrcfi
Wenn Sie Ausdrücke wie pwd auswerten müssen, können Sie dies zum Beispiel verwenden,
Wenn Sie Ubuntu oder ein Unix-basiertes System verwenden, exportieren Sie die Variablen in die ~/.bashrc Datei. Es ist eine versteckte Datei, die Sie über das Terminal oder durch Ausblenden versteckter Dateien im Dateisystem erreichen können.
Bearbeiten Sie dann die Datei und stellen Sie ein export THEVAR=/example dort speichern und fertig.