我发现了一些与此类似的问题,但令人惊讶的是,没有一个问题对我有用。
这是用脚本编写的:
for d in $(ls -d "$1"); do
echo $d
done
$ 1是我希望为其打印出子目录列表的父目录,但是,运行该命令会打印出,例如,一个名为“带有空格的目录”的目录,在单独的行上为3个单词。
答案 0 :(得分:5)
您可以使用Shell Globing代替进程替换,这不会遇到单词扩展问题:
Product
或者您可以采用非常常见的# to include dotfiles and not iterate empty directory
shopt -s dotglob nullglob
for d in "$1"/*; do
echo "$d"
done
模式。