linux 下for循环

for i in *
do
if [ -f $i ] then
echo "$i is a file"
else
echo "$i is a directory"
fi
done

其中 for i in * 表示什么意思呀? 各位大虾,谁能跟我说说吗??

for in语句与通配符*合用,批量处理文件
批量改文件名

[root@vm testtip]# ls
aaa.txt ccc.txt eee.txt ggg.txt hhh.txt jjj.txt lll.txt nnn.txt
bbb.txt ddd.txt fff.txt go.sh iii.txt kkk.txt mmm.txt ooo.txt

[root@vm testtip]# cat go.sh
for i in *.txt *.txt相当于一个字符串数组,依次循环赋值给i
do
mv "$i" "$i.bak"

done

for i in * 依次循环本目录下的所有文件