Portable shell code between Cygwin and Linux

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


Hi Csaba,

Csaba Raduly wrote:
> On Mon, Aug 1, 2011 at 8:49 AM, Sebastien Vauban  wrote:
>> Andrey Repin wrote:
>>> 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.
>>
>> That's interesting. I thought this was completely equivalent (~ or $HOME),
>> and preferred the shorter version.
>>
>> But you say it's not. Can you comment on this?  Thanks in advance...
>
> bash.info   Tilde expansion:
> "If a word begins with an unquoted tilde character (`~'), all of the
> characters up to the first unquoted slash (or all characters, if there
> is no unquoted slash) are considered a TILDE-PREFIX."
>
> Note "word begins". I've been bitten by this in a makefile:
>
> OPENSSL_DIR := ~/lib/openssl
> CPPFLAGS := -I$(OPENSSL_DIR)
>
> The gcc command line then contained -I~/lib/openssl, and the ~ was not
> expanded by the shell. ${HOME}/lib/openssl would have worked.

Excellent explanation. I was totally unaware of this.

> If you want the same alias to work on Cygwin and Linux, you should set
> up your $HOME on Cygwin to contain config/client.vpn
> You can set your home in /etc/passwd and point it to /cygdrive/c/home
> (this may have been mentioned already).
> The idea is to always refer to the VPN config as
> ${HOME}/config/client.vpn and ensure that Cygwin can access it that
> way.

I, maybe, have done it the completely wrong way(TM). As it currently is, I've
defined an environment variable in Windows itself:

    HOME=c:/home/sva

I did not touch so far /etc/passwd. The only visible effect of this is that
when firing up a bash terminal, the default directory is set to:

    c:/Documents and Settings/Sebastien

OK, I will update my HOME directory in /etc/passwd. Thanks for the reminder.
Do I have, though, to define HOME in Windows, in Cygwin (.bashrc or such), or
nowhere?

Best regards,
  Seb

-- 
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