Problem when using variable assignment, backticks in shell script

Tristen Hayfield tristen.hayfield@gmail.com
Tue Aug 29 22:42:00 GMT 2006


One may also do:
read x < temp
in bash

Tristen

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
> 
> --
> 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/
> 
> 

--
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/



More information about the Cygwin mailing list