Portable shell code between Cygwin and Linux

Gary Johnson garyjohn@spocom.com
Mon Aug 8 22:17:00 GMT 2011

On 2011-08-07, Eliot Moss wrote:
> On 8/7/2011 9:16 PM, Sven Köhler wrote:
> >Am 30.07.2011 14:14, schrieb Andrey Repin:
> >>Greetings, Corinna Vinschen!
> >>
> >>>>For every shell code that I write, I'd like it to be portable both to 
> >>>>Cygwin
> >>>>on Windows, and to Ubuntu Linux for example.
> >>>>
> >>>>It's kinda possible, but am blocked with such a use case:
> >>>>
> >>>>alias vpnup='exec sudo openvpn --config ~/config/client.vpn --writepid 
> >>>>/tmp/openvpn.pid&'
> >>>>
> >>>>While this worked perfectly under Ubuntu, I've had to make up a 
> >>>>customized
> >>>>version for Windows:
> >>>>
> >>>>alias vpnupwin='cd c:/home/sva/config; openvpn --config client.vpn 
> >>>>--writepid c:/cygwin/tmp/openvpn.pid&'
> >>
> >>>Don't use Win32 paths.  Use POSIX paths:
> >>
> >>>   alias vpnupwin='cd /cygdrive/c/home/sva/config; openvpn --config 
> >>>   client.vpn --writepid /cygdrive/c/cygwin/tmp/openvpn.pid&'
> >>
> >>Moreover, the very first line is wrong.
> >>
> >>Must be
> >>
> >>alias vpnup='exec sudo openvpn --config $HOME/config/client.vpn 
> >>--writepid /tmp/openvpn.pid&'
> >>
> >>that's where his problem began, IMO.
> >
> >I don't know, why you pointed that out. It's of no use to feed a path
> >like $HOME/something to a pure win32 binary.
> >(Certainly, this hint is kind of important for the ubuntu version of the
> >script, but not for the cygwin issue, which is solely because he's
> >mixing cygwin and win32 and expects it work without any complication)
> The OP *was* seeking uniform scripts between cygwin and ubuntu, but where
> some of the programs invoked under cygwin are Windows programs (which
> therefore need Windows paths, etc.).  But in any case, setting up
> suitable environment variables, aliases, etc., in a section of setup
> scripts that tests uname seems to be the agreed advice, along with
> specifics concerning cygpath and settings for particular programs ...

Something else the OP may be able to use is Luc Hermitte's
cyg-wrapper.sh script.  It's designed to solve exactly this problem
of running a Windows program from a Cygwin environment.



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

More information about the Cygwin mailing list