you are viewing a single comment's thread
view the rest of the comments
[–] 7 points 2 years ago (3 children)

But, but like ... hear me out.

echo $((1+1))

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 2 years ago (2 children)

    That is a posixly correct method to do arithmetic expressions.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (1 child)

    Huh, seems you're right. I was under the impression this wouldn't work in dash but apparently that's wrong.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 2 years ago

    Yep! The functionality for performing arithmetic expressions this way is called “arithmetic expansion”.

    2.6.4 Arithmetic Expansion

    Arithmetic expansion provides a mechanism for evaluating an arithmetic expression and substituting its value. The format for arithmetic expansion shall be as follows:

    $((expression))

    The expression shall be treated as if it were in double-quotes, except that a double-quote inside the expression is not treated specially. The shell shall expand all tokens in the expression for parameter expansion, command substitution, and quote removal.

    Next, the shell shall treat this as an arithmetic expression and substitute the value of the expression. […]

    https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_06_04

  • source
  • parent