Einrichten von Umgebungsvariablen mit .sh-Datei

Einrichten von Umgebungsvariablen mit .sh-Datei

Ich habe eine Datei env.sh erstellt, deren Inhalt unten aufgeführt ist

#!/bin/sh

export M2_HOME=/vagrant/tools/maven
export PATH=$PATH:$M2_HOME/bin
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_65
export ANT_HOME=/usr/local/apache-ant-1.9.7
export MAVEN_HOME=$M2_HOME

aber das Ausführen dieser SH-Datei führt nicht dazu, dass Umgebungsvariablen exportiert werden. Sie müssen jede Zeile manuell ausführen, um sie zu exportieren. Bitte helfen Sie

Antwort1

Sie müssen die Datei source( .) bearbeiten, nicht ausführen:

. env.sh

Wenn Sie das Skript ausführen, wird es in einer Unter-Shell ausgeführt und alle exportierten Parameter verlassen den Gültigkeitsbereich, sobald die (Unter-)Shell beendet wird, ohne Auswirkungen auf die übergeordnete Shell.

Wenn Sie sourcedies tun, sind die Parameter in der aufrufenden Sitzung verfügbar. Und auch in den untergeordneten Prozessen, während Sie exportsie mit -ing versehen.


Beachten Sie, dass die Standard-System-Shell ( sh) für Ubuntu dashnicht ist bashund als interaktive Shell gnome-terminalgestartet wird bash. Stellen Sie während der Ausführung sicher, dass das Shebang korrekt und das gewünschte ist. Auch bei source-ing ist das Shebang nicht erforderlich, Sie können es weglassen.

verwandte Informationen