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

Re: [Condor-users] problem with single quote in arguments variable



> Hello All,
> 
>   I have some trouble using the arguments variable in the
> command file for condor_submit.
> 
>   I need to run a program RunScript with argument that
> contains single quote in it as follows:
> 
> ./RunScript -rootname optInA-000000 -tagList 'pulse spot E1 phase B1
> B3' -valueList '0.00080000000000000004 0.75 40.0 5.0 0.12
> -0.20000000000000001'
> 
>  I initially had in my command file
> executable                = ./RunScript
> arguments                 = -rootname optInA-000000 -tagList 'pulse
> spot E1 phase B1 B3' -valueList '0.00080000000000000004 0.75 40.0 5.0
> 0.12 -0.20000000000000001'
> 
>   This did not work. I replaced my single quote with two single quotes
> '' and also tried with \' but none of this works (along with
> MANY other things).

Replacing your ./Runscript with a shellscript that did "echo $*" on Linux
worked fine (6.8.1 Condor)

I have some other thoughts/suggestions though:

1. There are 2 syntaxes for specifying arguments (and environment), you are 
   using what is now referred to as "old syntax". New syntax wraps the whole
   argument string in quotes.

2. Using 2 single quotes is the method of inserting single quotes in new syntax
   not old syntax. Double quotes also ave to be doubled up.

3. The problem may be the grouping of characters into separate arguments rather than 
   the quoting, in which case "'pulse" might be one (presumably incomplete) argument.
   Using new syntax should help.

Some of this info (and other potential problems with arguments/environments) is in
http://www.cs.wisc.edu/condor/CondorWeek2007/presentations/kewley_Gotchas2.ppt

Cheers

JK
j.kewley@xxxxxxxx