This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error using cygstart command with option arguments: "cygstart: bad argument"


Peter Farley wrote:

> I tried to use cygstart to execute bash with the "-c"
> option to execute a command and then terminate.
> Here's what I get:
> 
> $ cygstart bash -c echo Hi There
> cygstart: bad argument -c: unknown option

The problem that you are running into is that you need to tell cygstart
that the -c and following arguments are meant for the child process, and
are not arguments to cygstart itself.  '--' is a standard way of doing
this, which indicates to the program that all of the following arguments
should not be interpreted as switches but just regular data.  So
"cygstart -- bash -c ..." ought to work.

You will have to be careful with the quoting of the stuff after -c
though.  Cygstart is designed to use Windows-native methods to start a
process.  If you're using it to start a Cygwin process, and you want to
have an argument with spaces in it (as is the case with any nontrivial
-c) then you will have to be very careful with how you use quotes to
ensure that the Cygwin->Windows->Cygwin conversion of the argv[] works
correctly.  It would be much simpler to do something like: rxvt -e bash
-c "echo whatever".

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]