Sebastian Oeste <[email protected]> (Fr 15 Jun 2012 20:28:30 CEST): > 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.
Dort gehörte sie auch nicht rein, sondern in
.bash_profile oder ihre direkten Verwandten.
> 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.
Genau. So wie Du auch rausgefunden hast, wird das nicht gehen.
Der andere schon genannte Vorschlag sollte gehen, den Script nicht als
Script aufzurufen, sondern zu „sourcen“.
Oder alles in eine Shell-Funktion zu stecken, Du Du in der .bash_profile
definierst und bei Bedarf aufrufst. Geht natürlich nur, solange Du das
aus der Shell heraus machst.
Oder eine Kombination aus beidem: Source-File in Verbindung mit einer
Shell-Funktion, die nur „source $HOME/shmmemwrap.sh“ aufruft.
--
Heiko
signature.asc
Description: Digital signature
_______________________________________________ Lug-dd maillist - [email protected] https://ssl.schlittermann.de/mailman/listinfo/lug-dd
