Quickly change bash environment variables using files

Nachdem ich jetzt tagelang versucht habe mich zu erinnern, wie der nette Oracle-Consultant das Wunder bewerkstelligt hat, unzählige Umgebungsvariablen mit einem simplen Befehl zu setzen, bin ich endlich fündig geworden.

Um Oracle-Systeme zu warten, ist es bisweilen notwendig, zum Beispiel die Umgebungsvariable $ORACLE_SID anzupassen. Oder den Pfad. Oder das Prompt (damit man weiß, welche SID man gerade bearbeitet).
Der findige Oracle-Consultant hat mir dazu ein paar Dateien in der Art env.SID hinterlassen. Deren Inhalt ist im wesentlichen unspektakulär:

env.infra (Es handelt sich um Node 2 eines RAC)

PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin  
   export PATH
ORACLE_HOME=/opt/oracle/gridinfra  
   export ORACLE_HOME
ORACLE_SID=+ASM2  
   export ORACLE_SID
PATH=${ORACLE_HOME}/bin:$PATH  
   export PATH
PS1="$LOGNAME@`uname -n| cut -f1 -d.`[INFRA]> "  
   export PS1

env.MYSID2

PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin  
   export PATH
ORACLE_HOME=/ora/product/rdbms11.2  
   export ORACLE_HOME
ORACLE_SID=MYSID2  
   export ORACLE_SID
PATH=${ORACLE_HOME}/bin:$PATH  
   export PATH
PS1="$LOGNAME@`uname -n| cut -f1 -d.`[$ORACLE_SID]> "  
   export PS1

Der Trick besteht nun darin, diese Dateien zu sourcen:

$ . env.infra

Dank dieses Blogeintrags werde ich das hoffentlich nie mehr vergessen. Übrigens ist der Titel in englischer Sprache, da ich in Google keine relevanten Treffer finden konnte, weder in deutsch noch in englisch.

Author image
Blogging since 2003 about life, tech, yoga. Passionate about the details and eager to know more. Systems theory meets empathy.
Bochum. Germany.
top