export VARIABLE

F

fencingline

Mitglied
Hallo zusammen,

folgende Konstellation:

Script 1 ruft Script 2. Script 2 tut etwas was Script 1 braucht und muss dies zurückgeben.

Script 1 (test.ksh):

Code:
#!/usr/bin/ksh
timestamp.ksh
echo $TIMESTAMP


Script 2 (timestamp.ksh):

Code:
#!/usr/bin/ksh
export TIMESTAMP="$(date '+%Y%m%d %H:%M:%S')"


Funzt so aber nicht. Was mach ich falsch? :(

VG

Sascha
 
warum nicht
Code:
#test.ksh
timestamp=`timestamp.ksh`
echo $timestamp


#timestamp.ksh
ddate
 
wenn du variablen exportierst, können die nicht von der vaterinstanz verwendet werden. zumindest bei der bash ist das so.
 
...und der Punkt bewirkt soviel ich weiß, daß das externe Skript nicht in einer neuen Instanz sondern in der selben ausgeführt wird. Und somit ist auch dort die Variable gültig. Aber genau nachgelesen habe ich das auch noch nie :brav:

Gruß Daniel
 
Hallo

Du kannst Nur Variablen an den Childprozess exportieren.
Nicht umgekehrt.
Der Vorschlag mit dem . geht auch in der bash.
Code:
. ./zweites_script.sh
Allerdings darf dein zweites Script kein exit enthalten, da sonst der ganze Prozess beendet wird.

Numerische Werte kannst du als Exitcode zurückgeben und im Parentscript aus $? auslesen.


Gruß Wolfgang
warum nicht
Code:
#test.ksh
timestamp=`timestamp.ksh`
echo $timestamp


#timestamp.ksh
ddate
Das geht, wenn im zweiten Script nur eine Ausgabe nach <STDOUT> gemacht wird.
 
Zuletzt bearbeitet:

Ähnliche Themen

CentOS 5.8 –SQL Abfrage– HTML wird generiert und daraus müssen mehrere Mails versendet werden

ip6tables Problem

HandbrakeCLI Shell Skript

Shellscript unerwartetes Dateiende

Queue für copy Script

Zurück
Oben