Bash one-liner如果不存在则以原子方式创建文件
发布时间:2020-12-15 18:38:38 所属栏目:安全 来源:网络整理
导读:我想要一个 Bash单行程序,如果它不存在则以原子方式创建一个文件.这意味着“如果文件不存在,则创建它”,但确保没有其他人设法在执行if和创建文件之间的小空间中创建文件. Stealing an answer从各种评论和链接到[SO].似乎有一个 POSIX compliant method不涉及
我想要一个
Bash单行程序,如果它不存在则以原子方式创建一个文件.这意味着“如果文件不存在,则创建它”,但确保没有其他人设法在执行if和创建文件之间的小空间中创建文件.
Stealing an answer从各种评论和链接到[SO].似乎有一个
POSIX compliant method不涉及mkdir,正如我在下面的原始答案中提到的那样
set -o noclobber # or set -C { > file ; } &> /dev/null 此重定向到文件返回0或失败,如果文件已存在则返回非零. 原始答案 您将不得不使用mkdir – 这是原子的,要么创建目录,要么可以继续,或者不创建,因此您采取适当的措施. 当然,mkdir不会创建文件,但是一旦您知道您对该目录具有独占访问权限,那么您就可以在其中创建所需的文件. 至于一个班轮 – 我会把它留给你.就个人而言,我会写几行,因为它会更易于维护. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |