我正在尝试使用Shell脚本获取目录的内容。
我的脚本是:
for entry in `ls $search_dir`; do
echo $entry
done
$search_dir
相对路径在哪里。但是,$search_dir
包含许多名称中带有空格的文件。在这种情况下,该脚本不会按预期运行。
我知道我可以使用for entry in *
,但这仅适用于当前目录。
我知道我可以切换到该目录,使用for entry in *
然后再改回,但是我的特殊情况使我无法这样做。
我有两个相对路径$search_dir
和$work_dir
,并且我必须同时处理这两个路径,读取它们并在其中创建/删除文件等。
那我现在该怎么办?
PS:我用bash。
for entry in "$search_dir/*"
不起作用吗?为什么我们需要放在/*
引号之外?