这行中的 * 做什么/表示什么?

这行中的 * 做什么/表示什么?

我正在编写一个小脚本,我找到了另一种解决方案,就像我想出的那样,在这里使用这一行:

for i in *; do

*;这里的作用/含义到底是什么?我已经习惯了看到$变量。

答案1

for i in *; do

这里*是匹配当前目录中所有(非隐藏)名称的文件名通配字符。

在循环的每次迭代中,变量将依次i获取每个匹配的名称的值。*

之后;*(与大多数其他地方一样)可以用换行符替换:

for i in *
do

答案2

对 ls 命令中星号的行为感到困惑

Asterisk 在到达 [...your...] 命令之前展开

所以你将所有与你的模式匹配的文件传递*for

相关内容