News for hackers. Stuff that matters.
Re:Pure sh bible – Posix sh alternatives to external processes by emmelaich on Monday October 19, 2020 @10:38PM (#24833454)
Interesting! I wonder if any shells that support $((..)) do not support ((..) though.

The update 2017 standard mentions ((..)) but not in the obvious place. It's under 'compound commands/grouping' ...

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V...

> If a character sequence beginning with "((" would be parsed by the shell as an arithmetic expansion if preceded by a '$', shells which implement an extension whereby "((expression))" is evaluated as an arithmetic expression may treat the "((" as introducing as an arithmetic evaluation instead of a grouping command. A conforming application shall ensure that it separates the two leading '(' characters with white space to prevent the shell from performing an arithmetic evaluation.

Re:Pure sh bible – Posix sh alternatives to external processes by Crestwave on Tuesday October 20, 2020 @07:38AM (#24836204)
Shells such as dash and ash do not support it, which are the most common test cases for POSIX scripts. It should also be noted that pre-increment itself is considered optional by POSIX, although += should work.