通常,示例显示如下用法:
for i in $(ls); do echo ${i}; done
但是如果有一个名为"screw"的文件(或目录),则上面的行会给出错误的结果.
怎么解决?
不,请不要使用/解析ls输出.像这样使用它:
for i in *; do echo "${i}"; done
Run Code Online (Sandbox Code Playgroud)
或者你可以使用printf(感谢@ruakh):
printf '%s\n' *
Run Code Online (Sandbox Code Playgroud)