[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] macro escape query




> -----Original Message-----
> From: condor-users-bounces@xxxxxxxxxxx [mailto:condor-users-
> bounces@xxxxxxxxxxx] On Behalf Of Jaime Frey
> Sent: 04 March 2008 15:26
> To: Condor-Users Mail List
> Subject: Re: [Condor-users] macro escape query
> 
> On Mar 4, 2008, at 9:42 AM, Smith, Ian wrote:
> 
> >> On Mar 3, 2008, at 11:43 AM, Smith, Ian wrote:
> >>
> >>> Just a quick question on everyones favourite subject, escaping/
> >>> quoting ;-(
> >>>
> >>> I'm trying to get an evironment variable into the RSL for a job
> >>> using Condor-G
> >>> and if I try this with globusrun it works a treat:
> >>>
> >>> &(executable=/usr/ngs/PCGAMESS)(arguments= -r -f -p -i $(HOME)/
> >>> bench11.inp -o /home/ngs0456/bench_output -ex /apps/pcgamess/7.x/
> >>> bin)
> >>> (jobType=mpi)(count = 8)(stdout=StdOut.txt)(stderr=StdErr.txt)
> >>>
> >>> This will no doubt break wrongly because of the mail system but the
> >>> important bit is
> >>> $(HOME) which should expand as an environment variable on the remote
> >>> system.
> >>>
> >>> In my Condor-G job description file, I started with
> >>>
> >>> arguments= -r -f -p -i $(HOME)/bench11.inp -o /home/ngs0456/
> >>> bench_output -ex /apps/pc-gamess/7.x/bin
> >>>
> >>> and have tried seemingly every combination of backslashes and quotes
> >>> on the $(HOME) bit but I still can't
> >>> get the right effect.
> >>
> >>
> >> Your best bet is to use globus_rsl to set the arguments:
> >>
> >> globus_rsl = (arguments=-r -f -p -i $(HOME)/bench11.inp)
> >>
> >
> > I tried this but Condor still seems to be evaluating $(HOME) as a
> > (undefined) macro and
> > substituting a null string. If I look in the log file on the remote
> > host, part of this RSL requirements string is:
> >
> > ("arguments" = "-r" "-f" "-p" "-i" "/bench11.inp" "-o" "/
> > bench_output" "-ex" "/apps/pc-gamess/7.x/bin" )
> >
> > Is there a way of quoting/escaping to prevent Condor doing macro
> > expansions.
> 
> 
> You can escape the $ like so:
> globus_rsl = (arguments=-r -f -p -i $(DOLLAR)(HOME)/bench11.inp)
> 

That seems to have done the trick.

many thanks,

-ian.