Hi Sami, I see your point ...
+) quoting is expected when passing a command line string which need parsing +) quoting comes as surprise when using an array of arguments I have a look at the code ... Cheers, Siegfried Goeschl [email protected] wrote: > Basically, my use case is to execute (on linux) : > ffmpeg -i /tmp/myfile > and in case of a space > ffmpeg -i "/tmp/my file with spaces" > > Let's say I called ffmpeg using Runtime.exec, the command array I would pass > would be : > > {"ffmpeg", "-i", "/tmp/my file with spaces"} > > now, using commons exec, I would intuitively do : > > - new CommandLine("ffmpeg").addArgument("-i").addArgument("/tmp/my file with > spaces") > > However, this would be the equivalent of the following command array : > {"ffmpeg", "-i", "\"/tmp/my file with spaces\""} > > so, ffmpeg does not get /tmp/my file with spaces but gets "/tmp/my file with > spaces", and does not find the file as it does not interpret quotes, only the > shell does. > > However, if I > new CommandLine("ffmpeg").addArgument("-i", false).addArgument("/tmp/my file > with spaces", false) > => everything works fine > > regards, > Sami Dalouche > > Quoting Siegfried Goeschl <[email protected]>: > > >> Hi Sami, >> >> not sure that I understand the problem >> >> +) commons-exec is basically Ant code so it does the all the things Ant >> is doing, e.g. hard-to-understand quoting >> +) inside the code it is pretty hard to distinguish between a file name >> and a funny argument string (both containing spaces) so we assume that >> this is a file name which need quoting >> +) since quoting seems to be the #1 topic - please check >> http://commons.apache.org/exec/faq.html#complex-quoting >> >> So I suggest >> >> +) have a look if you could solve your problem by avoiding a single >> command line >> +) describe your problems a bit more detailed >> >> Cheers, >> >> Siegfried Goeschl >> >> [email protected] wrote: >> >>> I did not notice all commons-* were using the same mailing-list, so here is >>> >> the >> >>> correct subject along with the original message >>> >>> Sorry for the inconvenience, >>> sami >>> >>> ----- Forwarded message from Ralph Goers <[email protected]> ----- >>> Date: Mon, 16 Feb 2009 18:22:20 -0800 >>> From: Ralph Goers <[email protected]> >>> Reply-To: Commons Developers List <[email protected]> >>> Subject: Re: API discussion: Quoting of arguments: why is it enabled by >>> default? >>> To: Commons Developers List <[email protected]> >>> >>> Can you change your subject to start with [XYZ] and replace XYZ with >>> the Commons project your question pertains to? >>> >>> Thanks, >>> Ralph >>> >>> On Feb 16, 2009, at 2:27 PM, [email protected] wrote: >>> >>> >>> >>>> Hi, >>>> >>>> I am wondering why the quoting of arguments (if they contain spaces) >>>> is enabled >>>> by default. >>>> >>>> This is certainly not the behaviour I was expecting while using the >>>> API, as >>>> passing a filename as an argument will just fail if it is surrounded >>>> with >>>> quotes. >>>> >>>> regards, >>>> sami dalouche >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> ----- End forwarded message ----- >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >> > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
