Linux for 循环中的星号(*)是什么意思

Linux for 循环中的星号(*)是什么意思

我有这个.ksh 脚本片段:

for type in *
do 
    cd ${DATA_HOME}/$type
    for mid in *
        do
            #doing something here
        done
done

我的问题*:那么,当在上述 for 循环中使用时,星号具体表示什么含义?

答案1

“*” 表示当前目录中的所有文件。它相当于(至少在 bash 中 - 我认为 ksh 也类似)用空格分隔的带引号的文件/目录名称列表。

您可以随时通过输入以下内容来检查此类情况

echo *

上述脚本可能会在处理带有空格的文件/目录时发出问题。

相关内容