GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann man Umgebungsvariablen „exportiert“ in einem Shell-Skript bleiben lassen?

Ich habe mehrere Amazon EC2-Konten und möchte Variablen wie $EC2_HOME schnell wechseln können , mithilfe eines Skripts.

Ich habe ein Shell-Skript wie folgt eingerichtet:

#!/bin/sh
export EC2_HOME=/home/me/.ec2
echo $EC2_HOME

Wenn ich das Skript ausführe, weiß ich, dass EC2_HOME gesetzt ist, aber ich dachte das mit export würde dafür sorgen, dass die Variable nach Abschluss des Skripts erhalten bleibt. Dies ist nicht der Fall, da echo $EC_HOME ausgeführt wird zeigt nichts an.

Ich weiß, dass dies sehr rudimentäre Linux-Skriptkenntnisse sein müssen, aber ich weiß es nicht. Ich habe erfolglos versucht, nach verwandten Fragen zu suchen – entschuldigen Sie bitte, falls dies ein Duplikat ist.

Akzeptierte Antwort:

Sie sollten Ihr Skript mit

beziehen
. ./script

oder

source ./script

Linux
  1. Wie behandelt man Schalter in einem Shell-Skript?

  2. Woher weiß Bash, wie es aufgerufen wird?

  3. Wie erstelle ich eine temporäre Datei im Shell-Skript?

  4. Wie kann ich dieses Sed-Skript schneller machen?

  5. Woher weiß ich, ob ich eine verschachtelte Shell ausführe?

So setzen und listen Sie Umgebungsvariablen in Linux auf

So erstellen Sie Shell-Skripte

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus

So setzen und löschen Sie Umgebungsvariablen unter Linux

Wie führe ich einen Befehl in einem Shell-Skript aus?