Tôi muốn lặp qua danh sách các tệp mà không quan tâm đến các tên tệp có thể chứa, vì vậy tôi sử dụng danh sách được phân tách bằng ký tự rỗng. Mã sẽ giải thích mọi thứ tốt hơn.Đọc các chuỗi được phân cách bằng một vòng lặp Bash
# 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
Mã sau hoạt động khi đọc từ tệp, nhưng tôi cần đọc từ một biến chứa văn bản.
while read -d $'\0' line ; do
# Code here
done < /path/to/inputfile
Tôi không nghĩ rằng có thể lưu trữ các ký tự null trong biến bash. Ít nhất, tôi chưa bao giờ tìm được cách để làm điều đó ... –