[Whonix-devel] [Help-bash] Why read exits non-zero? How to safely use bash's built-in read command?
Chet Ramey
chet.ramey at case.edu
Mon Oct 7 15:43:45 CEST 2019
On 10/7/19 2:47 AM, Patrick Schleizer wrote:
> #!/bin/bash
>
> set -e
>
> test -f ./advancedsettings.ico
>
> while IFS= read -r -d '' line; do
> echo "$line"
> IFS= read -r -d '' first_word _ <<< "$line"
> echo "$first_word"
> done < "./advancedsettings.ico"
Think about this. The first read guarantees that the value of `line' will
not contain a NUL, since you use that as the delimiter. Why, then, would
you expect a NUL when you use the value in a here-string?
Since there's no NUL, reading the here-string will always return EOF before
hitting the delimiter, causing read to return 1.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet at case.edu http://tiswww.cwru.edu/~chet/
More information about the Whonix-devel
mailing list