delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/08/03/12:23:56

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019