使用shell脚本读取目录内容

发布于 2024-08-25 03:29:26 字数 219 浏览 3 评论 0原文

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

我的脚本是:

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

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

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

PS:我用bash。

I'm trying to get the contents of a directory using shell script.

My script is:

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

However, my current directory contains many files with whitespaces in their names. In that case, this script fails.

What is the correct way to loop over the contents of a directory in shell scripting?

PS: I use bash.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小兔几 2024-09-01 03:29:26
for entry in *
do
  echo "$entry"
done
for entry in *
do
  echo "$entry"
done
空心↖ 2024-09-01 03:29:26

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

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

don't parse directory contents using ls in a for loop. you will encounter white space problems. use shell expansion instead

   for file in *
    do
      if [ -f "$file" ];then
       echo "$file"
      fi
    done
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文