delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/08/29/19:08:37

X-Spam-Check-By: sourceware.org
Date: Tue, 29 Aug 2006 19:08:25 -0400 (EDT)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: Tristen Hayfield <tristen DOT hayfield AT gmail DOT com>
cc: cygwin AT cygwin DOT com
Subject: Re: Problem when using variable assignment, backticks in shell script
In-Reply-To: <44F4B31C.7010202@gmail.com>
Message-ID: <Pine.GSO.4.63.0608291907110.26908@access1.cims.nyu.edu>
References: <017630AA6DF2DF4EBC1DD4454F8EE29708D75075 AT rsana-ex-hq1 DOT NA DOT RSA DOT NET> <44F4AEB3 DOT 7769D22D AT dessent DOT net> <44F4B31C DOT 7010202 AT gmail DOT com>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
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

Ugh, top-posting...  Reformatted.

On Tue, 29 Aug 2006, Tristen Hayfield wrote:

> Brian Dessent wrote:
> > "Silva, Russell" wrote:
> >
> > >   x=`/usr/bin/cat < temp`;
> >
> > I don't know what is causing your problem.  I ran your testcase several
> > times and never saw a failure, but from your description it seems like
> > it's the kind of thing that might occur very rarely.
> >
> > My only suggestion is that if your true desire is to actually read the
> > contents of a file into a variable, then the above construct is a fairly
> > expensive way of doing it.  This requires a fork/exec (an operation
> > which is extremely slow under cygwin) of /bin/cat, whose purpose is only
> > to read from one fd and write to another.  If you can live with a
> > bash-specific (?) construct, then x=$(< temp) should cause the same
> > effect but much more efficiently, as the shell itself just reads the
> > file without invoking any subprocesses.
> >
> > Brian
>
> One may also do:
> read x < temp
> in bash

Actually, it's more like

IFS='' read -rd '' x

but you have the general idea... :-)
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_	    pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com
ZZZzz /,`.-'`'    -.  ;-;;,_		Igor Peshansky, Ph.D. (name changed!)
     |,4-  ) )-,_. ,\ (  `'-'		old name: Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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