通常,示例显示如下用法:
for i in $(ls); do echo ${i}; done
但是如果有一个名为“screw”的文件(或目录),那么上面的行就会给出错误的结果。
怎么解决?
通常,示例显示如下用法:
for i in $(ls); do echo ${i}; done
但是如果有一个名为“screw”的文件(或目录),那么上面的行就会给出错误的结果。
怎么解决?
不,请不要使用/parsels
的输出。像这样使用它:
for i in *; do echo "${i}"; done
或者,您可以使用printf
(感谢@ruakh):
printf '%s\n' *
IFS="$(echo -e "\b\r")";
for f in $(ls); do
echo "$f";
done
如果您被迫坚持解析 ls 输出(您不应该这样做)
您始终可以将 find 与 print 一起使用
find ./ -print | xargs echo