它似乎mv -T
是 GNU 的扩展mv
。
是否有一种强大的方法(无竞争、可移植,并且没有“陷阱”)来执行相当于的操作mv -T dir1 dir2
?
需要明确的是:
我不要想要这个曾经导致
dir2/dir1
。如果dir2
存在,我希望命令失败。如果dir1
有任何移动,它一定会变成dir2
。我不要想把每个孩子都一一搬出去。我想移动目录本身。
我做想要避免竞争条件。首先测试是否
dir2
存在很简单,但随后可能会在检查之后但移动之前创建它。