使用shell脚本读取目录内容
我正在尝试使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要在 for 循环中使用 ls 解析目录内容。你会遇到空白问题。使用 shell 扩展代替
don't parse directory contents using
ls
in a for loop. you will encounter white space problems. use shell expansion instead