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