我发现了一些与此类似的问题,但令人惊讶的是,它们都不适合我。
我在脚本中写了这个:for d in $(ls -d "$1"); do
echo $d
done
$1 是我希望打印出子目录列表的父目录,但是,运行它会打印出例如名为“带空格的目录”的目录,在单独的行上以 3 个单词的形式出现。
最佳答案
您可以使用 shell globbing 而不是进程替换,这不会受到单词扩展问题的影响:
# to include dotfiles and not iterate empty directory
shopt -s dotglob nullglob
for d in "$1"/*; do
echo "$d"
done
或者你可以求助于相当常见的
find ... -print0 | xargs -0 ...
图案。
关于bash - 如何在bash中列出名称中带有空格的子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52067529/