LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 755|回复: 3

初学者求助

[复制链接]
发表于 2007-9-28 20:13:35 | 显示全部楼层 |阅读模式
初学bash脚本编程,想实删除当前目录及子目录中的一个隐藏文件夹.abc(隐藏文件夹下面的文件及文件夹一并删除)。脚本如下,但不work,请指教。

#!/bin/bash

# delete all .abc directory
function delabc {
    for element in $1/*; do
        [ "$element" = "
  • /.abc" ] && echo "$element" && rm -rf "$element"
            [ -d "$element" ] && echo "$element" && delabc $element
        done
    }
    curdirectory=`pwd`    #delete
    echo $curdirectory
    delabc "$curdirectory"

    exit 0
  • 发表于 2007-9-28 20:19:50 | 显示全部楼层
    find path -type d -name '.abc' -exec rm -rf {} \;
    回复 支持 反对

    使用道具 举报

    发表于 2007-9-28 20:22:19 | 显示全部楼层
    正常情况下
    for file in * 是不显示.开头的文件和目录的
    回复 支持 反对

    使用道具 举报

    发表于 2007-9-28 20:28:08 | 显示全部楼层
    #!/bin/bash
    oldglob=$(shopt -p dotglob)
    shopt -s dotglob

    # delete all .abc directory
    function delabc {
    for element in $1/*; do
    [ "$element" = "$1/.abc" ] && echo "$element" && rm -rf "$element"
    [ -d "$element" ] && echo "$element" && delabc $element
    done
    }
    curdirectory=`pwd` #delete
    echo $curdirectory
    delabc "$curdirectory"

    eval $oldglob
    exit 0
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表