On Wed, 2008-06-25 at 08:03 -0700, ss11223 wrote: > On Jun 25, 9:40 am, michael <[EMAIL PROTECTED]> wrote: > > Hi, I have acshscript in which I'd like to do set up a list of vars > > and then to chk each of these are set, something like the below. > > However, I can't find the magic incantation that allows to to check > > ${$Vars} eg if $InMetFiles is set on the first loop - suggestions > > welcome! > > > > #!/bin/csh > > foreach Vars (InMetFiles InTerFile OutDir) > > echo Checking $Vars\.\.\. > > if ( ${?Vars} == 0) then > > echo $Vars not set \- aborting > > exit 1 > > endif > > end > > > > -- > > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > > its ugly but I think this works > > #!/bin/csh > > foreach Vars (Var1 Var2 Var3) > echo checking $Vars\.\.\. > setenv temp '${'$Vars'}' > setenv temp2 `eval echo 'X'$temp >&/dev/null` > if ( "$status" != "0" ) then > echo $Vars not set \- aborting > exit 1 > endif > end
ah, I see rather than testing a variable we try and use it and catch any error... it seems to work as you say... although this seems slightly more elegant if less easy to add new VarN to: if ( $?InMetFiles == 0 || $?InTerFile == 0 {etc}) then echo prob exit -1 endif -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]