bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Long variable value get corrupted sometimes


From: Greg Wooledge
Subject: Re: Long variable value get corrupted sometimes
Date: Wed, 16 Feb 2022 08:59:03 -0500

On Wed, Feb 16, 2022 at 02:53:43PM +0100, Léa Gris wrote:
> Le 16/02/2022 à 13:43, Greg Wooledge écrivait :
> > text=$(cat /tmp/foo.txt; printf x)
> > text=${text%x}
> 
> or read -r -d '' text </tmp/foo.txt
> 
> witch saves a sub-shell

You forgot IFS= there.  Without that, it'll strip leading/trailing IFS
whitespace.

You also get a non-zero exit status from read when you use your approach,
which will cause the script to die immediately if the author is using
set -e.  While some of us may consider that a benefit (breaking more
set -e scripts raises awareness of how utterly horrible set -e is),
there are still some misguided souls out there who might not see it as
helpful just yet.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]