bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IFS handling and read


From: Chris F.A. Johnson
Subject: Re: IFS handling and read
Date: Mon, 30 Nov 2009 09:56:07 -0500 (EST)
User-agent: Alpine 2.00 (LMD 1167 2008-08-23)

On Mon, 30 Nov 2009, Greg Wooledge wrote:

> On Mon, Nov 30, 2009 at 11:46:03AM +0100, Lhunath (Maarten B.) wrote:
> > Don't use pipelines to send streams to read.  Use file redirection instead:
> > 
> > Instead of ''command | read var''
> > Use ''read var < <(command)''
> > 
> > I hardly see a need to change the existing implementation.
> 
> Or for the original problem case, use a here string:
> 
> IFS=: read a b <<< "1:2"
> 
> Between process substitutions (the <(command) thing) and here strings,
> you should be able to do all your reads without subshells.

   Or, to be portable, use a here document:

IFS=: read a b <<.
1:2
.

   This works with the output of commands, too:

IFS=- read year month day <<.
$(date +%Y-%m-%d)
.

-- 
   Chris F.A. Johnson, webmaster         <http://woodbine-gerrard.com>
   ===================================================================
   Author:
   Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)
   Pro Bash Programming: Scripting the GNU/Linux Shell (2009, Apress)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]