写一个显示目录的脚本,有点小问题

写一个显示目录的脚本,有点小问题

下面的脚本用于打印目录;如果不指定要打印的目录的话,将从"/"下开始,打印所有的目录
[code:1]
#!/bin/bash
                                                                                 
function isDir() {
   for X in $1/*; do
        if [ -d $X ] ; then
           echo $X
           isDir $X;
        fi;
   done;
}
                                                                                 
isDir $1;
[/code:1]

上面的脚本有个bug
当目录名中间有空格时,不能找到该目录
修正如下,但仍然出错.请高手修改
[code:1]
#!/bin/bash
                                                                                 
function isDir() {
   for X in $1/*; do
#   Y=`echo $X | sed -e 's/ /\\ /g'`
       Y=`echo $X | sed -e 's/ /\\\\ /g'`    #路径中的空格前加"\",上面两种情况都不行...,echo $Y显示正确,那么-d却底认为$Y是什么东西?
        if [ -d $Y ] ; then
           echo $X
           isDir $X;
        fi;
   done;
}
                                                                                 
isDir $1;
[/code:1]
[code:1]function isDir() {
   for X in $1/*; do
        if [ -d "$X" ] ; then
           echo $X
           isDir "$X";
        fi;
   done;
}[/code:1]

有什么用? 一个 find -type d 就解决了
呵呵,没有什么用,也就是那么一回事
试着用不同的方法解决问题而已
显示目录的方法很多种,用find -type d也算是比较复杂啦.....