sh variablen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
lisan
Beiträge: 658
Registriert: 22.02.2003 19:05:04
Wohnort: Berlin
Kontaktdaten:

sh variablen

Beitrag von lisan » 25.02.2004 12:40:04

Mal 'ne triviale Frage.
Ich habe zwei scripte, welche beide dieselbe variable lesen und schreiben. Wo definiere ich und wie diese variable, so dass beide sie auch kennen.

source libfile ?

Ein export in einem der beiden fuehrt dazu, dass der andere sie nicht kennt, da sie offensichtlich nich von selben stack erben.

Gruss,
Arvid.

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

Beitrag von Joghurt » 25.02.2004 16:13:26

Skript 1

Code: Alles auswählen

#!/bin/sh
... FOO berechnen
echo "FOO=$FOO" > /pfad/zu/skriptaustausch
echo "BAR=$BAR" >>...
Skript 2

Code: Alles auswählen

#!/bin/sh
. /pfad/zu/skriptaustausch # nicht 'source' nehmen, das ist bash-spezifisch
echo $FOO
Wenn du das ganz Environment übernehmen willst, sollte das wie folgt gehen (nicht getestet)

Code: Alles auswählen

# Skript 1
...
set > /pfad/...

Code: Alles auswählen

#Skript 2
. /pfad/...
echo $FOO
echo $BAR
Es könnte aber u.U. zu Problemen kommen, wenn PWD etc. überschrieben werden. Besser wäre, nur die gewünschen Variablen zu schreiben:

Code: Alles auswählen

set | egrep "^(VAR1|VAR2|VAR3|VAR_4|FOO|BAR)=" > ...
HTH

Benutzeravatar
lisan
Beiträge: 658
Registriert: 22.02.2003 19:05:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von lisan » 28.02.2004 14:57:30

Ok, ich versuchs mal, danke.

Antworten