BASH Tip: Alternative to expr for arithmetic | Comments (2)
Posted in Snippets on 30th August 2007, 11:59 am by Stuart
I discovered recently a neat way to do arithmetic in BASH without the need to use the expr command. There’s a build-in that uses the syntax $((…)) or $[ … ]. This is also faster as it avoids the need to invoke a separate command. See: http://snap.nlc.dcccd.edu for more on the rules pertaining to this syntax.

This hint is totally cool.
Thanks,.
-Deniz Gezmis
Hi,
Thanks for that tip. This was very useful i.e. to have a simplified replacement for the messy expr. In fact I didn’t know how to do compound statements using expr. For example how to do this expression (var1 – var2)*100/var1, since bash complains about those paranthesis. But using the other alternative I could easily compute the value as $[(var1-var2)*100/var2]. You don’t have to worry about escaping the *, + etc. in the expression. It is so easy to use! Thanks for the tip.