栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

bash脚本中不存在的原子创建文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

bash脚本中不存在的原子创建文件

100%纯bash解决方案:

set -o noclobber{ > file ; } &> /dev/null

file
如果不存在名为的文件,则此命令将创建一个名为的文件
file
。如果有一个名为的文件
file
,则什么也不做(但返回一个非零的返回码)。

优点

touch

  • 如果文件已经存在,则不更新时间戳
  • 内置100%bash
  • 按预期返回代码:如果
    file
    已经存在或
    file
    无法创建,则失败;成功,如果
    file
    不存在并被创建。

缺点:

  • 需要设置该
    noclobber
    选项(但是如果您对重定向很小心,或者在之后取消设置,那么在脚本中就可以了)。

我猜这种解决方案确实是使用进行

open
系统调用的bash对应方式
O_CREAT | O_EXCL



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405848.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号