In Linux, each file or directory name (or more generally, pathname component) is just a string of bytes. It always ends with the C end-of-string mark, ASCII NUL: a zero. Value 47, ASCII /, is also reserved for use as a separator between pathnames.
Bash can read ASCII NUL separated data using read -d "" variable
. It will, however, remove leading and trailing characters that match IFS
, and return false (nonzero status) if the input does not have a final NUL. This applies to...