测试断掉的连接

系统 1336 0
  1 #!/bin/bash
   2 # broken-link.sh
   3 # 由Lee bigelow所写<ligelowbee@yahoo.com>
   4 # 已经征得作者的同意.
   5
   6 #一个用于发现死符号链接并且输出它们的链接文件的纯shell的脚本。
   7 #所以它们能把输出提供给xargs并处理
   8 #例如: broken-link.sh /somedir /someotherdir|xargs rm
   9 #
  10 #下面是更好的发现死符号链接的办法:
  11 #
  12 #find "somedir" -type l -print0|\
  13 #xargs -r0 file|\
  14 #grep "broken symbolic"|
  15 #sed -e 's/^\|: *broken symbolic.*$/"/g'
  16 #
  17 #但这不是纯bash脚本,下面的则是.
  18 #注意: 谨防在/proc文件系统和死循环链接中使用!
  19 ##############################################################
  20
  21
  22 #如果没有参数被传递给脚本作为搜索目录,则使用当前目录
  23 #
  24 #
  25 ####################
  26 [ $# -eq 0 ] && directorys=`pwd` || directorys=$@
  27
  28 #Setup the function linkchk to check the directory it is passed
  29 #for files that are links and don't exist, then print them quoted.
  30 #If one of the elements in the directory is a subdirectory then
  31 #send that send that subdirectory to the linkcheck function.
  32 ##########
  33 linkchk () {
  34     for element in $1/*; do
  35     [ -h "$element" -a ! -e "$element" ] && echo \"$element\"
  36     [ -d "$element" ] && linkchk $element
  37     # Of course, '-h' tests for symbolic link, '-d' for directory.
  38     done
  39 }
  40
  41 #Send each arg that was passed to the script to the linkchk function
  42 #if it is a valid directoy.  If not, then print the error message
  43 #and usage info.
  44 ################
  45 for directory in $directorys; do
  46     if [ -d $directory ]
  47 then linkchk $directory
  48 else
  49     echo "$directory is not a directory"
  50     echo "Usage: $0 dir1 dir2 ..."
  51     fi
  52 done
  53
  54 exit 0

测试断掉的连接


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论