delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-SWARE-Spam-Status: | No, hits=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD |
X-Spam-Check-By: | sourceware.org |
From: | "Andy Hall" <fixpertise-consulting AT comcast DOT net> |
To: | <cygwin AT cygwin DOT com> |
References: | <80hb65b3ue DOT fsf AT somewhere DOT org> <20110729201651 DOT GB13084 AT calimero DOT vinschen DOT de> <80ipqhljc3 DOT fsf AT somewhere DOT org> <j15r6l$i7d$1 AT dough DOT gmane DOT org> <80hb60m25t DOT fsf AT somewhere DOT org> <4E381A7C DOT 2000000 AT cs DOT umass DOT edu> <j19l9a$s9b$1 AT dough DOT gmane DOT org> |
Subject: | RE: Portable shell code between Cygwin and Linux |
Date: | Wed, 3 Aug 2011 09:23:23 -0700 |
Message-ID: | <3FAC9682F3BB461CBF853C3127F5A8CE@ahallpc> |
MIME-Version: | 1.0 |
In-Reply-To: | <j19l9a$s9b$1@dough.gmane.org> |
X-IsSubscribed: | yes |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Unsubscribe: | <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
> * Eliot Moss (Tue, 02 Aug 2011 11:40:44 -0400) > > On 8/2/2011 8:24 AM, Sebastien Vauban wrote: > > > Thorsten Kampe wrote: > > >> * Sebastien Vauban (Mon, 01 Aug 2011 08:46:52 +0200) > > >>> My goal is to have just 1 alias that would work both under Win32 > > >>> (Cygwin) and Ubuntu > > >> > > >> Why don't have simply put your alias definitions in if [[ $OSTYPE = > > >> cygwin ]]; then else"? > > > > > > Because I really want one single definition which could work on > > > every system I'm using. > [...] > > The suggestion to use a few conditionals that look at the which OS > > you're on does not involve continued tweaking. Once you have the right > > file, it works everywhere (for which you have provided suitable cases) > > using the exact same file. It's just that different parts get executed > > on different platforms. It's not as elegant as achieving an > > arrangement with no conditionals, but it's practical and flexible. > > Couldn't have said it better. Cygwin is not Linux and you just can't > ignore the differences. For example I have different aliases for netstat > and ps on Linux and on Windows. They just don't have the same options. > > Thorsten > I second this. I have used that same technique since the late 80s to build scripts that run on multiple platforms including Cygwin, Linux, Solaris, HP-UX and AIX. You can cover up all sorts of differences that way. Its about the only clean way of dealing with platform specific differences. And sadly, you may even have to stick with /bin/sh if you really want to be portable. Andy Hall -- 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |