Ohne das jetzt gerade ausprobieren zu können - klappt es eventuell wenn du das 
skript mittels '. skript.sh' oder 'source skript.sh' ausführst? Afair führt das 
das Skript in der aktuellen Shell Instanz aus und macht eben keinen Kindprozess 
auf.


Grüße,
Jens

--
Jens Krämer
[email protected]

Am 15.06.2012 um 20:28 schrieb Sebastian Oeste <[email protected]>:

> Hi,
> 
> Ich muss unter gewissen Umständen bestimmte Variablen setzten, leider
> sind die Umstände so bestimmt das ich diese Variablen nicht in der
> .bashrc setzten kann.
> Also dachte ich mir, kein Problem dafür gibt es Skripte.
> Nun glaube ich das was ich vorhabe geht generell garnicht.
> Folgendes Skript:
> 
> WRAPLIB=$HOME/SHMEM/lib/libshmemWrap.so
> 
> if [ -e $WRAPLIB ]
> then
>       export LD_PRELOAD=${LD_PRELOAD:-$WRAPLIB}
>       echo $LD_PRELOAD
> else
>      echo "$WRAPLIB does not exists!"
> fi
> 
> Soweit sogut, nur nach Ausführung des Skriptes ist die Variable
> $LD_PRELOAD nicht gesetzt.
> 
> $ echo $LD_PRELOAD
> 
> $
> 
> ...kurzer Moment der Verwunderung....
> Alles klar! Kann ja nicht, wie soll die Bash denn aus einem
> Kind-Prozess eine Variable an den Eltern-Prozess vererben !?!
> Auch das The Linux Documentation Project sagt dazu:
> 
> "A script can export variables only to child processes, that is, only
> to commands or processes which that particular script initiates. A
> script invoked from the command-line cannot  export variables back to
> the command-line environment. Child processes  cannot export variables
> back to the parent processes that spawned them."
> 
> Das sieht schon mal ziemlich endgültig aus und macht dummerweise auch noch 
> Sinn.
> Nun bräuchte ich aber leider wirklich eine Lösung die genau das macht.
> Da kommen noch ein paar mehr Variablen dazu die ich hier aus Gründen
> der Übersichtlichkeit weggelassen habe.
> Hat einer von euch ne gute Idee wie man das erreichen kann ohne die
> ganzen export's auf der Konsole zu Tippen ?
> 
> Ich bin für jede Antwort Dankbar.
> 
> Beste grüße,
> Sebastian
> 
> _______________________________________________
> Lug-dd maillist  -  [email protected]
> https://ssl.schlittermann.de/mailman/listinfo/lug-dd

_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an