我的导出功能:
myfunc(){
# Some operation with null terminated string
# If I use $1, is it guaranteed that it is a null terminated string?
}
为了这个例子,考虑
find . -type -f -print0 | while read -rd '' line
do
myfunc "$line"
done
答案 0 :(得分:4)
如果您使用的是print0
,请确保在IFS=
中-d ''
之外使用空的read
将null作为分隔符:
while IFS= read -r -d '' line; do
myfunc "$line"
done < <(find . -type f -print0)
如图所示,您还可以避免管道并使用流程替换。