使用指向不存在的文件的链接

时间:2014-12-08 01:25:03

标签: bash

我是BASH的新手,我正在尝试创建一个可以处理不存在的链接的脚本。脚本可能有几个参数,它们是链接到目录,“ - v” - 脚本将输出1,“ - r” - 脚本将删除所有不存在的文件的链接,“ - a” - 脚本将输出链接到目录中的所有文件。可以有任何顺序的几个参数。这就是我想出的:

#!/bin/bash

linkchk_r () {
    for element in $1/*; do
        [ -h "$element" -a ! -e "$element" ] && $ rm "$element"
    done
}

linkchk_a (){
    for element in $1/*; do
        echo "$element"
    done
}

if [ $1 = "-v" ]
then
    echo 1
fi

case "$3" in
"-a" )
    linkchk_a $2
;;

"-r" )
    linkchk_r $2
;;

esac

exit 0

但是测试系统说脚本工作超过1分钟,所以我在某个地方犯了错误。能帮我找到并就整个代码提出建议吗?

1 个答案:

答案 0 :(得分:1)

如果stat softlink工作正常,但stat -L softlink返回非零状态,则为悬挂链接。查看stat联页>