On Sat, Apr 27, 2024 at 11:31:43PM +0200, Christoph Anton Mitterer wrote: > > Long story short: > The recommended way was to add a sentinel character '.' at the end of > the output within the command substitution and strip that off later > with parameter expansion. > But despite of the very special properties[0] of '.', it's apparently > still required to set LC_ALL=C when stripping the sentinel, because the > pattern matching notation in ${foo%.} is defined only on strings of > characters, not on strings of bytes. Are you talking about a theoretical undefined condition, or an actual one? Which shell doesn't deal with ${foo%.} correctly? Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt