shells/bash-4.0 port horribly broken

Andrew W. Nosenko andrew.w.nosenko at gmail.com
Thu Mar 12 07:48:46 PDT 2009


On Thu, Mar 12, 2009 at 4:37 PM, Johan van Selst <johans at stack.nl> wrote:
> Jerry wrote:
>> Was this some sort of 'improvement' by the Bash developers, or is it
>> an un-squashed bug?
>
> It seems that this might actually be a feature.
> Quoting the COMPAT document of bash4:
>
> 38. Since bash-4.0 now follows Posix rules for finding the closing delimiter
>    of a $() command substitution, it will not behave as previous versions
>    did, but will catch more syntax and parsing errors before spawning a
>    subshell to evaluate the command substitution.

Sorry, but I didn't see how it can be applied.  In another words, how
the 'ls' command in the

    $ echo $(ls)

contradicts with POSIX.

http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03

    With the $( command) form, all characters following the open
    parenthesis to the matching closing parenthesis constitute the
    command. Any valid shell script can be used for command,
    except a script consisting solely of redirections which produces
    unspecified results.

Sure, 'ls' is not a something that "consisting solely of redirections".

-- 
Andrew W. Nosenko <andrew.w.nosenko at gmail.com>


More information about the freebsd-ports mailing list