Я хочу перебирать список файлов, не заботясь о том, какие символы могут содержать имена файлов, поэтому я использую список, ограниченный нулевыми символами. Код лучше объяснит ситуацию.
# Set IFS to the null character to hopefully change the for..in
# delimiter from the space character (sadly does not appear to work).
IFS=$'\0'
# Get null delimited list of files
filelist="`find /some/path -type f -print0`"
# Iterate through list of files
for file in $filelist ; do
# Arbitrary operations on $file here
done
Следующий код работает при чтении из файла, но мне нужно прочитать переменную, содержащую текст.
while read -d $'\0' line ; do
# Code here
done < /path/to/inputfile