+ -
当前位置:首页 → 问答吧 → for递归循环中的变量,不能echo出来,求教

for递归循环中的变量,不能echo出来,求教

时间:2011-03-29

来源:互联网

本帖最后由 鸡鸡哥 于 2011-03-29 01:10 编辑
  1. #!/bin/bash
  2. DPATH=/home/zhangsan
  3. cd $DPATH
  4. for D1 in `ls $DPATH`
  5.     do
  6.         for D2 in `ls $DPATH/$D1`
  7.              do
  8.               echo $DPATH/$D1/$D2                   #显示
  9.              for f in `ls $DPATH/$D1/$D2`
  10.                         do
  11.                         echo $D2                  #不显示
  12.                 rm $DPATH/$D1/$D2/$f
  13.                         echo $D2                   #也不显示
  14.                 done
  15.                    echo $D2                                  #显示
  16.              exit
  17.              done
  18. done
复制代码
上面的脚本为什么$D2在最后一个循环不显示呢??,两次都不显示

作者: 鸡鸡哥   发布时间: 2011-03-29

好像是没继承到这一层吧

作者: 南极雨   发布时间: 2011-03-29

回复 鸡鸡哥


    不会不显示的,除非你的主目录底下的文件或者目录根本就不存在,for循环只进行到了第一层。。。
    还有,你的第12行写的有问题。。。

作者: xiaopan3322   发布时间: 2011-03-29

shell 十三问里面有~   学艺未精,不敢妄加评论

作者: howge   发布时间: 2011-03-29

回复 鸡鸡哥


    试了一下,可以显示出来。
   你确认下是否有$f ,:mrgreen:

作者: liion631818   发布时间: 2011-03-29

热门下载

更多