移动 linux 目录,除非它已经存在

move linux directory unless it already exists

我需要一种方法来移动 linux 目录及其所有内容,前提是它当前不存在于目标位置。如果它当前存在(包括所有子文件夹和文件),那么源文件夹可以递归地删除。

我目前使用以下框架,但希望对其进行扩展以满足上述条件。

mv /source/* /target

谢谢

Gnu mv-n--no-clobber 选项。不幸的是,即使 mv 由于 --no-clobber 选项是空操作,它似乎 return 具有成功的退出状态,但是在您的用例中,您可以简单地执行 --no-clobber 移动,如果移动成功则清除源,无论它是否执行任何操作。

rsync -av --remove-source-files source/ destination/ && rm -rf source/

相应地替换 source/destination/

Source