在大多数 shellnullglob
中不是默认的。这意味着,例如,如果您运行此命令
ls *
Run Code Online (Sandbox Code Playgroud)
在一个空目录中,它会将*
glob扩展为一个 literal *
,而不是一个空的参数列表。有一些方法可以改变这种行为,这样*
在一个空目录中将返回一个空的参数列表,这看起来更直观。
那么,是否有理由nullglob
默认禁用?如果是,那是什么原因?
echo *.c
Run Code Online (Sandbox Code Playgroud)
在 bash 中,将参数视为常量并打印*.c
. 如何强制它将其视为一种glob
模式并打印以 .c 结尾的文件/文件夹列表?