Bash 如何复制带有符号链接的目录并解析它们?
我希望使用Bash/Shell脚本递归复制包含符号链接(symlinks)以及普通文件的目录的内容。我不知道如何复制符号链接内容。伪代码如下所示:Bash 如何复制带有符号链接的目录并解析它们?,bash,shell,terminal,copy,symlink,Bash,Shell,Terminal,Copy,Symlink,我希望使用Bash/Shell脚本递归复制包含符号链接(symlinks)以及普通文件的目录的内容。我不知道如何复制符号链接内容。伪代码如下所示: for file in directory do if is symlink resolve symlink and copy its contents else copy the file / folder base/ dir1/ symlinkdir1*/ (--> ../somewhere/else/d
for file in directory do
if is symlink
resolve symlink and copy its contents
else
copy the file / folder
base/
dir1/
symlinkdir1*/ (--> ../somewhere/else/dirA)
/file1
/file2
symlinkdir2*/ (--> ../somewhere/else/dirB)
/file3
/file4
…
base/
dir1/
symlinkdir1/ (no symlink, actual directory)
/file1
/file2
symlinkdir2/ (no symlink, actual directory)
/file3
/file4
…
我的目录结构如下所示:
for file in directory do
if is symlink
resolve symlink and copy its contents
else
copy the file / folder
base/
dir1/
symlinkdir1*/ (--> ../somewhere/else/dirA)
/file1
/file2
symlinkdir2*/ (--> ../somewhere/else/dirB)
/file3
/file4
…
base/
dir1/
symlinkdir1/ (no symlink, actual directory)
/file1
/file2
symlinkdir2/ (no symlink, actual directory)
/file3
/file4
…
完成复制过程后,我希望有一个如下目录结构:
for file in directory do
if is symlink
resolve symlink and copy its contents
else
copy the file / folder
base/
dir1/
symlinkdir1*/ (--> ../somewhere/else/dirA)
/file1
/file2
symlinkdir2*/ (--> ../somewhere/else/dirB)
/file3
/file4
…
base/
dir1/
symlinkdir1/ (no symlink, actual directory)
/file1
/file2
symlinkdir2/ (no symlink, actual directory)
/file3
/file4
…
它只是
cp-r./SourceFolder./DestFolder
只要使用cp
命令和-r
选项递归复制即可。不需要所有脚本,cp-rL/source/destination
r=递归
L=跟随并展开符号链接Nope。这不起作用。目的地仍然包含符号链接。Macose上需要大写字母-R使用L和不使用L有什么区别?另外两个答案没有用,我想知道有什么区别