Re: [PATCH] test-lib: check Bash version for '-x' without using shell arrays
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Jan 3, 2019, 11:36 UTC
- Message-ID
- <20190103113659.GA4673@szeder.dev>
- In-Reply-To
- <20190101231949.8184-1-szeder.dev@gmail.com>
On Wed, Jan 02, 2019 at 12:19:49AM +0100, SZEDER Gábor wrote:
Show 6 quoted lines
> To my understanding both shells are right and conform to POSIX,
> because the standard allows both behavior by stating the following
> under '2.8.1 Consequences of Shell Errors':
>
> "An expansion error is one that occurs when the shell expansions
> define in wordexp are carried out (for example, "${x!y}", becauseThat "define" above always stops my (non-native) English parser for a moment or two... shouldn't it be s/define/defined/ ?
It's not a copy-paste error, POSIX does indeed write "define" there, see:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_08_01
(First paragraph below the table and the Notes.)
> '!' is not a valid operator); an implementation may treat these as > syntax errors if it is able to detect them during tokenization, > rather than during expansion." >