Mailinglist Archive: opensuse-packaging (130 mails)
| < Previous | Next > |
Re: [opensuse-packaging] Proposal for a shell scripting policy
- From: Guido Berhoerster <guido+opensuse.org@xxxxxxxxxxxxxxxx>
- Date: Wed, 24 Mar 2010 17:32:43 +0100
- Message-id: <20100324163243.GI7496@xxxxxxxxxxxxxxxxxx>
* Stephan Kulow <coolo@xxxxxxx> [2010-03-24 16:53]:
Note that $i and i lead to different behavior with arithmetic
expansion. $(( $i+1 )) happily yields 1 if i is set to a
non-integer while $(( i+1 )) results in a syntax error. The
latter is almost alway what you want since it catches potential
errors.
Assignments also do not work with $i, $(( $i=1 )) is an error
while $(( i=1 )) is valid and assigns i.
Except for legacy scripts it is probably a better idea to use
dash since it has many other issues fixed.
--
Guido Berhoerster
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx
Am Mittwoch 24 März 2010 schrieb Michael Matz:
Make it $i - then both ash and dash can do it.
I trust that that one is more capable than our ash? :
% /bin/ash -c 'i=0; j=$((i+1))'
arith: syntax error: "i+1"
Note that $i and i lead to different behavior with arithmetic
expansion. $(( $i+1 )) happily yields 1 if i is set to a
non-integer while $(( i+1 )) results in a syntax error. The
latter is almost alway what you want since it catches potential
errors.
Assignments also do not work with $i, $(( $i=1 )) is an error
while $(( i=1 )) is valid and assigns i.
Except for legacy scripts it is probably a better idea to use
dash since it has many other issues fixed.
--
Guido Berhoerster
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx
| < Previous | Next > |