I have a windows program running on Linux using WINE.
How can I call Linux shell commands from the windows program?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Edit: user1182474’s comment is correct; Wine doesn’t isolate the programs it runs. (It tries to hide it, but not very thoroughly.) I totally failed at using Google. Psen’s comment below is more correct, and references the FAQ. (Note that, for that to work, you may need to have the program’s directory available through a Wine drive mapping. Or, see Anonymous Replier’s answer.)
== Old Answer ==
Wine isolates the programs it runs. The applications are, if all works as intended, presented with an environment indistinguishable from Windows. Unfortunately for your purposes, that means that you can’t access the features of the host OS (Linux). I mean, you could patch Wine to do that, but I get the impression that it would be more work than it’s worth.
There is hope! Cygwin is a Unix-like environment for Windows. You could install Cygwin in Wine, and use Cygwin to run your shell script. (Apparently, installing with ‘winetricks cygwin’ is easiest) Invoke Cygwin’s bash shell (inside some Wine program) like this:
Of course, change c:\cygwin to wherever you install it.