Re: Bash script variables question[Scanned]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Regards,

Tom

As for not needing the quotes, ... QED ;-)




[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux