bash – 用原来的所有符号链接替换

前端之家收集整理的这篇文章主要介绍了bash – 用原来的所有符号链接替换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下目录结构
  1. /symdir
  2. sym1 -> ../dir1
  3. sym2 -> ../dir2
  4. hello.txt

接着

  1. /dir1
  2. some
  3. files
  4. here
  5. /dir2
  6. more
  7. files

我想用symdir(sym1,sym2)中的符号替换原件。即

  1. some_awesome_bash_func symdir symdir_output

会创造

  1. /symdir_output
  2. /dir1
  3. some
  4. files
  5. here
  6. /dir2
  7. more
  8. files
  9. hello.txt

我该如何做到这一点?

可能不是最好的方法,但它的作品:
  1. #!/bin/bash.exe
  2.  
  3. for link in $(find /symdir -type l)
  4. do
  5. loc=$(dirname $link)
  6. dir=$(readlink $link)
  7. mv $dir $loc
  8. rm $link
  9. done

注意:这是写在cygwin上。您可能需要更改#!

猜你在找的Bash相关文章