Problem when using variable assignment, backticks in shell script

Brian Dessent brian@dessent.net
Tue Aug 29 21:35:00 GMT 2006


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



More information about the Cygwin mailing list