如何防止“for”分割目录名?

B14*_*4D3 2 scripting linux bash

我正在尝试使用“for”循环列出所有隐藏目录:

for i in ``ls -a | grep '^\.'` `;
do 
    echo $i
done
Run Code Online (Sandbox Code Playgroud)

问题是循环将一些目录名称一分为二。

例如:ls -a | grep '^\.'给我

.
..
.Deleted Items
.Drafts 
.Junk
.Junk E-mail
.Sent
.Sent Items
.Trash
Run Code Online (Sandbox Code Playgroud)

但我的循环给了我:

.
..
.Deleted
Items
.Drafts
.Junk
.Junk
E-mail
.Sent
.Sent
Items
.Trash
Run Code Online (Sandbox Code Playgroud)

如何改进我的脚本,使其不划分目录名称?

use*_*517 10

您不需要该ls命令,因为 shell 会为您进行扩展,您应该引用"该变量

for i in .*/
do
echo "$i"
done
Run Code Online (Sandbox Code Playgroud)