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

Re: [Condor-users] Job file...execute a program with more than onearguments





On Thu, Apr 22, 2010 at 4:39 PM, michele pierri <pierm4ci@xxxxxxxx> wrote:
So I will try:

 ########################################################
 #
 #                          cmd -p xxx.txt -q yyy.txt                                        
 #              
 ########################################################
 Universe = vanilla
 Executable = cmd
 Arguments= -p xxx.txt -q yyy.txt
 Input = xxx.txt,yyy.txt

 transfer_input_files = file1 , file2, file3
 should_transfer_files=YES
 when_to_transfer_output = ON_EXIT
 Log = file.log
 Output = out.txt
 Error = error.log
 Queue

And I will put the file in arguments in Input section. It's ok?

That looks right. Just to be clear: you need to type in, in the submission ticket, the file names on the Arguments= line. Condor won't fill in xxx.txt with file1 from your transfer_input_files line or anything like that. It'll just pass the literal text "xxx.txt" to your Executable.

I am using Condor 7.4.2.

Then you should probably read the 7.4 docs: http://www.cs.wisc.edu/condor/manual/v7.4/condor_submit.html -- the 7.5 docs may or may not contain mentions of features that are available only in the newer version of Condor.

 
I have read http://www.cs.wisc.edu/condor/manual/v7.5/condor_submit.html
but I have not really understand the difference between the permissible formats for arguments.:
arguments = <argument_list>
.....There are two permissible formats for specifying arguments. The new syntax supports uniform quoting of spaces within arguments; the old syntax supports spaces in arguments only in special circumstances.

In the old syntax, arguments are delimited (separated) by space characters. Double-quotes must be escaped with a backslash (i.e. put a backslash in front of each double-quote).


I forgot about the change to the argument and environment lines. Whether your use old or new syntax depends on the complexity of arguments you need to present to your program. Just using the new syntax from the get go means you don't have to switch to it when the old syntax is no longer supported in some future release.
 

..

Can you explain me?


With the old format, if I wanted an argument that had spaces *and* quotes in it it was difficult and sometimes impossible to do. The new format makes that possible. The examples in the docs spell out the differences best.

For your purposes it would just be fine to say:

Arguments = "-p xxx.txt -q yyy.txt"
-or-
Arguments = -p xxx.txt -q yyy.txt

As long as xxx.txt and qqq.txt contain now spaces the two forms produce equivalent ARGV arrays in your program. Given they're equivalent I'd recommend using the first form, with the "'s around the string -- that's the new syntax.

- Ian