我在同一个父目录中有两个目录.调用父目录库和子目录alpha和bravo.我想用bravo替换alpha.最简单的方法是:
rm -rf alpha
mv bravo alpha
Run Code Online (Sandbox Code Playgroud)
mv命令是原子的,但rm -rf不是.在bash中有一种简单的方法可以用bravo原子替换alpha吗?如果没有,有复杂的方法吗?
附录:
如果目录在短时间内不存在,那么这不是一个不可逾越的问题.只有一个地方试图访问alpha,它会在做任何关键事情之前检查alpha是否存在.如果没有,它会给出错误消息.但如果有办法做到这一点会很好.:)也许有一些方法可以直接修改inode,或者某些东西......