sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #23714
Re: setenv i script (tcsh) ?
At 01:57 12-06-00, you wrote:
Hvordan får jeg 'setenv DISPLAY (IP)' til at virke i et script i tcsh shell?
Skriver jeg det via tastatur virker det, men ikke via scriptet
Mit script ser således ud:
#!/bin/tcsh
setenv DISPLAY min_ip
og har fået chmod +x
Jeg ser to mulige problemer...
1: Hvis det program, som skal bruge display-variablen,
bliver kaldt i samme script, mangler du nok en export
kommando. Den er i hvert fald nødvendig i bash for
at underprocesser får adgang til variable.
2: Hvis display-variablen skal være til rådighed
uden for dit script, er det nok nødvendigt at
få din shell til at køre det direkte, i stedet for
som en underproces, da en proces ikke har lov til
at ændre eller sætte variable for sin forælder.
Jeg kender ikke andet til tcsh, end at jeg ved,
det er en shell, men i bash gøres det således:
. scriptnavn
når du kalder scriptet.
Dette får scriptet til at blive kørt nøjagtig
som om det var blevet tastet ind manuelt.
Du må så bare ikke afslutte dit script med en
exit kommando, da det jo virker nøjagtig som
havde du skrevet det selv i den aktuelle shell.
(Det vil sige: logger ud.)
Hvis variablen skal være til rådighed for
underprocesser kaldt uden for dit script,
skal du nok bruge en blanding af de to.
Med venlig hilsen
Ole Kofoed Hansen
okh@xxxxxxxxxxxxxxxxx
icq# 25773325
Follow ups
References