我可能在这里疯了,但我正试图将目录移动到新位置,覆盖内容(在 Linux 上,使用 bash)。
每次我尝试时,它都会响应“mv:无法将“./src”移动到其自身的子目录中”
例如,我有:
/src
/new/dir/src
/$ mv src/ new/dir/
如果我删除目标目录,那么它就可以正常工作。我知道我可以移动源目录的内容来覆盖目标,但如果目标已经存在,我想使用相同的命令来覆盖目标,如果目标不存在,我想移动源。
答案1
尝试提供每个目录的绝对路径。
IEmv /src /new/dir/
另外,您还可以查看rsync
复制文件和删除现有文件等等。
您还可以执行以下操作:
#!/bin/sh
if [ -e /new/dir/src/ ]; then
rm -rf /new/dir/src/
fi
mv /src /new/dir/
除非您担心保存文件/new/dir/src/
,在这种情况下这rsync
将是更好的选择。