X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.9 required=5.0 tests=AWL,BAYES_00,FROM_LOCAL_NOVOWEL,HK_RANDOM_FROM,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: "Sebastien Vauban" Subject: Re: Portable shell code between Cygwin and Linux Date: Tue, 02 Aug 2011 13:58:10 +0200 Lines: 64 Message-ID: <80wrewm3e5.fsf@somewhere.org> References: <80hb65b3ue DOT fsf AT somewhere DOT org> <20110729201651 DOT GB13084 AT calimero DOT vinschen DOT de> <1686210011 DOT 20110730161401 AT mtu-net DOT ru> <80ei15lj87 DOT fsf AT somewhere DOT org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-Url: Under construction... X-Archive: encrypt User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (windows-nt) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id p72BwtcY026080 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