我想用shell脚本得到一个目录的内容。

我的脚本是:

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

不过,我的当前目录包含在其名称中的空格许多文件。在这种情况下,该脚本将失败。

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

PS:我使用bash

有帮助吗?

解决方案

for entry in *
do
  echo "$entry"
done

其他提示

不使用解析ls目录内容在一个for循环。你会遇到空白的问题。使用外壳膨胀,而不是

   for file in *
    do
      if [ -f "$file" ];then
       echo "$file"
      fi
    done
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top