使用shell脚本读取目录的内容
我正在尝试使用shell脚本获取目录的内容 我的剧本是:使用shell脚本读取目录的内容,shell,directory-listing,Shell,Directory Listing,我正在尝试使用shell脚本获取目录的内容 我的剧本是: for entry in `ls`; do echo $entry done 但是,我的当前目录包含许多名称中带有空格的文件。在这种情况下,该脚本将失败 在shell脚本中循环目录内容的正确方法是什么 PS:我使用bash。不要在for循环中使用ls解析目录内容。您将遇到空白问题。改用shell扩展 for entry in * do echo "$entry" done for file in * do
for entry in `ls`; do
echo $entry
done
但是,我的当前目录包含许多名称中带有空格的文件。在这种情况下,该脚本将失败
在shell脚本中循环目录内容的正确方法是什么
PS:我使用bash。不要在for循环中使用
ls
解析目录内容。您将遇到空白问题。改用shell扩展
for entry in *
do
echo "$entry"
done
for file in *
do
if [ -f "$file" ];then
echo "$file"
fi
done
也许你应该使用“for entry in**”?@Jonathan:如果你需要匹配以
开头的文件,那么你最好旋转dotglob
选项。什么是dotglob
选项?当设置dotglob
时(通过shopt-s dotglob
)*
将匹配以
开头的文件。您已经接受了此问题的答案。创建一个新的。非常相关的问题:这就是bash语法。试试看。记住变量周围的双引号。这将保留空白。只是不要在for循环中使用ls