On Sun, 2006-08-06 at 13:27 -0400, Tom Diehl wrote: > On Sun, 6 Aug 2006, Steven W. Orr wrote: > > > On Sunday, Aug 6th 2006 at 22:05 +1000, quoth Cameron Simpson: > > > > =>On 06Aug2006 12:44, Chris Bradford <chrisbradford@xxxxxxxxxxxxxxxxxxxx> wrote: > > =>| I changed > > =>| > > =>| ctime=/bin/date > > =>| compname=hostname > > =>| > > =>| to: > > =>| > > =>| ctime="$(date)" > > =>| compname="$(hostname)" > > => > > =>BTW, you don't need the quotes. The assignment is parsed before the > > =>values arrive. Eg, this works: > > => > > => x='a b c' > > => y=$x > > => > > =>Also, just for other scripts, this: > > => > > => foo=`command` > > => > > =>is more portable than > > => > > => foo=$(command) > > > > Never use backquotes when the $( cmd ) is available. The backquotes are > > deprecated in bash and ksh and are only available in antique Bourne > > shells. In addition there are subtle differences in quoting between the > > two. > > Any idea why the authors feel the need to break 20+ years of history? I fail to > see why foo=`command` is better or worse than foo=$(command). I only have 17+ > years worth of sh, ksh, and bash scripts that use the foo=`command` construct. > > Just to be clear I am not blaming anyone here for the change. I realize that > this type of thing comes from upstream. I am just trying to understand why this > type of thing is done. It allows constructs like this: $ var=$(foo $(bar)) Paul.