使用shell脚本读取目录的内容

时间:2010-03-12 19:47:18

标签: shell directory-listing

我正在尝试使用shell脚本获取目录的内容。

我的脚本是:

for entry in `ls`; do
    echo $entry
done

但是,我当前的目录包含许多名称中带有空格的文件。在这种情况下,此脚本失败。

在shell脚本中循环遍历目录内容的正确方法是什么?

PS:我使用bash。

2 个答案:

答案 0 :(得分:13)

for entry in *
do
  echo "$entry"
done

答案 1 :(得分:3)

不要在for循环中使用ls解析目录内容。你会遇到白色空间问题。改为使用shell扩展

   for file in *
    do
      if [ -f "$file" ];then
       echo "$file"
      fi
    done