Shell-Variablen in Übergeordneter SH-Instanze setzen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Shell-Variablen in Übergeordneter SH-Instanze setzen

Beitrag von mcmehl » 11.02.2005 12:58:29

Hallo Habe gerade folgendes Problem. Aus der Loginshell heraus wird ein Interpreter (Branchensoftware) gestartet, dieser kann wenn nötig auch Shell-Commands ausführen.

Nun habe ich aber das Problem, dass dieser Interpreter eine neue Shell untergeordnet startet, das Script ausführt und dann wieder beendet. Dadurch kann ich in einem Script zwar die Variablen setzen, diese sind aber nur aus der 2. Instanz gültig.
Es sollen aber bestimmte Enviromentvaribalen in der Loginshell geändert werden!

Gibt es da Mittel und Wege?

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 11.02.2005 13:09:51

Wenn die loginshell eine bash ist,

Code: Alles auswählen

export VARIABLE=WERT
in die .bash_profile eintragen

Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Beitrag von mcmehl » 11.02.2005 13:12:58

Danke. Das eigentliche Problem ist aber die Variable die via export in der Loginshell mittels /etc/profile gesetzt wird, durch einen Script aus der 2. Instanz (nicht-Loginshell) zu ändern?!

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 11.02.2005 13:20:43

Ah, OK! Soweit ich weiss, ist das nicht ohne weiteres möglich.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 11.02.2005 13:38:28

Kannst du im Script der 2.Instance eine neue Shell aufrufen ?

Wenn ja, mußt du nur den Interpreter mit "exec" aufrufen und du arbeitest nachher mit der neuen Shell weiter
(Ist ein "dirty hack" der keinesfalls in der Loginshell von "root" angewendet werden sollte)

Antworten