Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@sources.redhat.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@sources.redhat.com>
List-Help: <mailto:cygwin-help@sources.redhat.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@sources.redhat.com
Delivered-To: mailing list cygwin@sources.redhat.com
Message-ID: <3AFAF02C.545770B1@veritas.com>
Date: Thu, 10 May 2001 12:46:52 -0700
From: Bob McGowan <rmcgowan@veritas.com>
Organization: VERITAS Software
X-Mailer: Mozilla 4.73 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
To: JROZYCKI@ebmail.gdeb.com
CC: cygwin@cygwin.com
Subject: Re: Question about the 'read' command in bash
References: <85256A48.006A6FF5.00@ebmail.gdeb.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

ksh is not bash (nor is it pdksh).  ksh manages to do several things in the
current shell, while bash and pdksh handle it in a sub-process.  Variables in a
sub-process cannot affect the environment of the parent.

The solution is to use substitution:

  op_sys=$(uname | cut -c1-4)

and use the value.  I'd suggest that this is the more portable and probably the
preferred way of doing this.

JROZYCKI@ebmail.gdeb.com wrote:
> 
> I have a bash shell script with the following lines of code:
> 
> #!/bin/bash
> uname | cut -c1-4 | read op_sys
> echo $op_sys
> 
> This works fine at work using SGI IRIX and ksh, but under cygwin and bash
> at home, op_sys does not get set - null is echoed.. what do I need to do
> differently?
> 
> thanks,
> Jeff
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple

-- 
Bob McGowan
Staff Development Engineer
VERITAS Software
rmcgowan@veritas.com

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

