On Wed, Jan 02, 2019 at 12:19:49AM +0100, SZEDER Gábor wrote: > 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}", because That "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." >