免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2198 | 回复: 2
打印 上一主题 下一主题

如何删除 链接 及链接的目标文件?(已解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-20 23:10 |只看该作者 |倒序浏览
如果是多重链接,最好能够递归删除最终的目标文件?

[ 本帖最后由 zhangyo0134 于 2008-3-21 19:52 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-03-20 23:51 |只看该作者
原帖由 zhangyo0134 于 2008-3-20 23:10 发表
如果是多重链接,最好能够递归删除最终的目标文件?


  1. #!/bin/bash

  2. echo -n "Please input the filename to test: "
  3. read filename

  4. if [ ! -e "$filename" ]; then
  5.   echo -e "\nError: File not found !\n"
  6.   exit 1
  7. fi

  8. filename_path=$(dirname $filename)

  9. if [ "$filename_path" == "$filename" ]; then
  10.    filename_path=""
  11. fi
  12. while true
  13. do
  14.     result=$(readlink $filename)
  15.     [ -z "$result" ] && break

  16.     if [ ${result:0:1} != "/" ]; then
  17.         result="${filename_path}"/${result}
  18.     fi
  19.     echo "$filename ==> $result"
  20.     filename=$result
  21. done
复制代码


請參考之。

--

论坛徽章:
0
3 [报告]
发表于 2008-03-21 19:49 |只看该作者
原帖由 kenduest 于 2008-3-20 23:51 发表



#!/bin/bash

echo -n "Please input the filename to test: "
read filename

if [ ! -e "$filename" ]; then
  echo -e "\nError: File not found !\n"
  exit 1
fi

filename_path=$(dirnam ...


感谢楼上的提示,写了如下脚本:

#!/bin/sh

# 用来递归地删除 link 文件及目标文件
# 用法:rm-link link_name

export NULL=/dev/null

subtrace () {
readlink "$1" 2>&1 >$NULL && subtrace "`readlink "$1"`"
rm "$1"
}

subtrace "$1"

exit 0

另外,用来建立测试上述脚本的链接文件的脚本:

#!/bin/sh

# Creat links
# 用来建立测试 rm-link 脚本的多重链接
# 用法:creat-links new_file_name number
# 如:creat-links test_file_name 8

i=0
j=0
filename="$1"
NO="$2"
[ ! -z "$filename" ] && touch "$filename".$j

while [ "$i" -lt "$NO" ]
do
  j=$i
  i=`expr $i + 1`
  [ -f "$filename".$j ] && ln -s "$filename".$j "$filename".$i
done

exit 0

在Debian4.0上测试通过!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP