Skip to content

Supershells have been added as a native feature to Bash 5.3 #12

@rail5

Description

@rail5

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions