Portable shell code between Cygwin and Linux

Sebastien Vauban wxhgmqzgwmuf@spammotel.com
Tue Aug 2 12:11:00 GMT 2011

Hi Corinna,

Corinna Vinschen wrote:
> On Aug  1 08:46, Sebastien Vauban wrote:
>> Corinna Vinschen wrote:
>> >> 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 &'
>> But, if I write it like that, this never will work under Ubuntu, does it?  Or
>> is it possible with some "mount" magic to void the prefix "/cydgrive/c"?
> How is that different from using a drive letter like C:?

It's not. Simply, both did not work in a portable way.

> The best you can do is to create a mount point(*) under Cygwin which has the
> same path as under Ubuntu. Then, just use the same POSIX paths on both
> systems.
>> My goal is to have just 1 alias that would work both under Win32 (Cygwin)
>> and Ubuntu, having the files located in the same place (relative to my home
>> dir).
>> I also tried you suggestion for another command, which was:
>>     perl C:/home/sva/src/csv2ledger/CSV2Ledger.pl -f $FileMatches -i $tmpfile.clean
>> This works fine under Cygwin right now.
>> Rewritten with POSIX paths:
>>     perl /cygdrive/c/home/sva/src/csv2ledger/CSV2Ledger.pl -f $FileMatches -i $tmpfile.clean
>> It does not work anymore...
> So you're not using Cygwin perl, or you changed your cygdrive prefix(**).

I'm not. I don't know why but, when I installed Perl (months ago), I did not
think at looking in Cygwin packages. Seems I'm bad!

Best regards,

Sebastien Vauban

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