I find it confusing that I can read once from an empty string, but not from an empty file:
while read -r foo; do echo ${#foo}; done <<< '' # prints '0'
while read -r foo; do echo ${#foo}; done < /dev/null # prints nothing
Is there a way to write a string literal that cannot be read from even once? Conversely, what contents does a file need to have, in order to be able to read exactly one empty string from it, and nothing else?