请问dearvoid,如何遍历当前目录下所有字目录?

bash 有现成的操作目录的栈. 用栈实现查找所有子目录的功能本质上是将前面我写的那个递归函数(树的深度优先遍历)转变成非递归函数
复制内容到剪贴板
代码:
[color=blue]-(guest@mac:tty1)-(tmp)-
[5662 0] %[/color] cat foo.sh
#!/bin/bash

[ -L "$1" -o ! -d "$1" ] && exit 1

[color=red]pushd[/color] -n "$1" > /dev/null
while [color=red]dirs[/color] +1 > /dev/null 2>&1; do
    d_cur=$(dirs +1)
    [color=red]popd[/color] -n > /dev/null
    echo "$d_cur"
    for d in "$d_cur"/*; do
        [ -d "$d" -a ! -L "$d" ] && pushd -n "$d" > /dev/null
    done
done
[color=blue]-(guest@mac:tty1)-(tmp)-
[5662 0] %[/color] find a -type d
a
a/b
a/b/d
a/b/e
a/b/f
a/c
a/c/d
a/c/e
a/c/f
[color=blue]-(guest@mac:tty1)-(tmp)-
[5662 0] %[/color] ./foo.sh a
a
a/c
a/c/f
a/c/e
a/c/d
a/b
a/b/f
a/b/e
a/b/d
[color=blue]-(guest@mac:tty1)-(tmp)-
[5662 1] %[/color]
      
斑竹确实高,我明白了(pushd,popd,dirs的用法!)      
好好学习,天天向上