[Mono-list] Command line parameters with spaces
Jonathan Pryor
jonpryor at vt.edu
Thu Jan 20 17:11:50 EST 2011
On Jan 20, 2011, at 3:42 PM, karolo84 wrote:
> I have tried to figure out the following by myself but so far I wasn't
> lucky: I have a .NET program that takes a SQL query as command line
> argument. If I now run that program under Windows, I simply quote the string
> and everything is fine:
>
> app.exe "SELECT foo FROM bar WHERE time='20090212';"
>
> But I have not yet successfully got that running under Linux + Mono.
What shell are you using?!
For the trivial app:
public static void Main (string[] args)
{
for (int i = 0; i < args.Length; ++i)
Console.WriteLine ("args[{0}]={1}", i, args [i]);
}
when using bash on Linux and OSX:
$ mono a.exe "SELECT foo FROM bar WHERE time='20090212';"
args[0]=SELECT foo FROM bar WHERE time='20090212';
$ mono a.exe "a b"
args[0]=a b
$ mono a.exe "a\ b"
args[0]=a\ b
$ mono a.exe 'a b'
args[0]=a b
$ mono a.exe ´a b´
args[0]=´a
args[1]=b´
In short, I can't reproduce your behavior. All I can guess is that you're using a shell with bizarre quoting rules...
- Jon
More information about the Mono-list
mailing list