我跑find
并通过与[ \(-L $F \) ]
结果迭代收集特定的符号链接。如何检测Bash中符号链接是否被破坏?
我想知道如果有一个简单的方法来确定链路在这种情况下损坏(指向一个不存在的文件)。
这里是我的代码:
for F in $FILES; do
if [ -L $F ]; then
if readlink -q $F >/dev/null ; then
DO THINGS
else
echo "$F: bad link" >/dev/stderr
fi
fi
done
请注意,如果文件不根本不存在的代码也将执行此行为。这是罚款'find',但在其他情况下(如水珠)应与-h相结合来处理这种情况下,例如'[-h“$ F” -a! -e“$ F”]'。 – Calimo
你不是真的用这种方法测试符号链接。 –
@Calimo没有区别。 – Melab