如何处理文件名以bash中的空格开头?

Mag*_*oud 2 bash

通常,示例显示如下用法:

for i in $(ls); do echo ${i}; done

但是如果有一个名为"screw"的文件(或目录),则上面的行会给出错误的结果.

怎么解决?

anu*_*ava 7

不,请不要使用/解析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)