This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem when using variable assignment, backticks in shell script


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]