it-swarm.com.de

Verweis auf eine vorhandene Umgebungsvariable in einer anderen

Angenommen, ich habe eine Umgebungsvariable mit dem Namen Java_HOME, die in der Datei /etc/environment definiert ist. Ich muss einen neuen Wert Java_HOME/bin in die Variable PATH einfügen. Folgendes berücksichtigen,

Java_HOME=/usr/apps/jdk1.8.10_1
PATH=/bin/something/:/bin/bash/something:/usr/apps/jdk1.8.10_1/bin

Nun, wenn Sie es sich ansehen, wenn ich /usr/apps/jdk1.8.10_1/bin durch so etwas wie unten ersetzen könnte, wäre es bequemer.

PATH=/bin/something/:/bin/bash/something:Java_HOME/bin

Wie könnte ich das machen? Ist es %Java_HOME%/bin?

3
Romeo Sierra

Das kannst du in /etc/environment nicht machen. Es ist keine Skriptdatei, und die Variablenerweiterung funktioniert dort nicht.

Um PATH systemweit zu ändern, ist eine Datei mit der Erweiterung .sh im Ordner /etc/profile.d eine bessere Methode. Es kann myvars.sh oder so ziemlich alles heißen, solange es die Erweiterung .sh hat. In Ihrem Fall könnte es ungefähr so ​​aussehen:

export Java_HOME=/usr/apps/jdk1.8.10_1
PATH="$PATH:$Java_HOME/bin"

Auf diese Weise behalten Sie die Standarddefinition PATH in /etc/environment bei und ändern sie in Ihrer eigenen Datei.

Weitere Informationen finden Sie auf der Seite EnvironmentVariables .

2

Der Verweis auf eine Variable erfolgt durch Hinzufügen eines $ in bash. Überprüfen Sie diese Eingabe:

$ echo $Java_HOME
/usr/apps/jdk1.8.10_1

Der Befehlsinterpreter ersetzt den $variable durch seinen Wert.

Ihr Befehl wäre:

PATH=/bin/something/:/bin/bash/something:$Java_HOME/bin

Verwenden Sie keine Leerzeichen, oder Ihr Befehl funktioniert nicht.

Hinweis: Die %symbols% um einen Variablennamen entsprechen dem Stil von Microsoft.

2
Jos