-
-
Notifications
You must be signed in to change notification settings - Fork 4
Description
The release notes for the new release of Bash 5.3 state:
There is a new form of command substitution that executes the command in
the current shell execution context. Two forms are implemented: one that
reads the command substitution's output and another that expects to find
the result in the REPLY shell variable when the command substitution
completes.
The real meaning of this is that Bash has adopted supershells natively -- although they don't call them that (I don't blame them, I never liked the name "supershell" anyway), and the syntax is slightly different (${ command; } instead of our @(command))
Having supershells included natively in Bash will be better for us -- native means safer and better performance, and this will also immediately resolve #10
The question of backwards-compatibility is nontrivial, at least for a little while before Bash 5.3 is more widely adopted by distributions. Debian Trixie has entered full freeze, so Bash 5.3 will probably not be present in Debian for another 2 years. Backwards compatibility is an open question. A compiler option specifying that we do/don't want to compile to Bash 5.3?