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: How do I run a program compiled in cygwin from a program that is running in a Windows CMD shell?


On 09/14/11 21:13, Ted Byers wrote:
The program run, and works, but ...

I have a perl program
Perl script...
running from a WIndows CMD shell, that needs to somehow
run it in bash (with my usual environment when I run the bash shell)
Why? Why does it need to run in bash? cmd and bash are just program launchers from the perspective of your Perl script.
If I run bash, I invoke my program my program using './qlt' followed by almost
a dozen commandline arguments. If I had compiled it using MSVC++, I could invoke it from my perl program using "my $op = `qlt a nb c args`;"
I'm assuming now that qlt is your "program", probably a C program, that you compile from either MVC++ or perhaps Cygwin - you are not clear here...
How do I modify what is within perl's backticks so that qlt is invoked as a
child in my normal bash environment?  Can it be done?
It can't be done. When Perl "executes" some thing in backticks it is invoked as a child of the Perl process, not the bash nor cmd process. Normally the Perl process is a child of either bash or cmd depending on which shell you used to launch your Perl process.
I am not asking about building the program so it doesn't need to run within
cygwin's bash.  I have other tools that let me do that if I must.  Rather, I
want to make a child process that has the cygwin environemt even though the
parent process does not.
In order to understand this you need to become cognizant as to exactly what Perl you are running when you run your Perl script. How exactly are you firing off this puppy? Cygwin's Perl will run commands backticked through your shell (normally bash). ActiveState's Perl will run commands backticked through cmd. The two have vastly different semantics. So, what Perl are you running?
--
Andrew DeFaria <http://defaria.com>
Since light travels faster than sound, isn't that why some people appear bright until you hear them speak?



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


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