博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
noclobber:避免文件的重写
阅读量:6377 次
发布时间:2019-06-23

本文共 799 字,大约阅读时间需要 2 分钟。

shell提供了一种称为noclobber(
如set noclobber 明确声明不覆盖,clobber的单词有殴打,击打的意思)的特性,该特性可防止重定向时不经意地重写了已存在的文件。通过设置变量noclobber可以将此特性打开。打开后若将输出重定向到某个已存在文件,则shell将报告错误消息,并且不执行重定向命令。如果前面的示例产生了下面的消息之一,则设置了 noclobber特性。下面的示例首先打开noclobber特性,然后是将echo的输出重定向到已存在文件,最后是关闭noclobber特性。
$ set -o noclobber
$ echo "kick" > tmp
-bash: tmp: Cannot overwrite existing file
$ set +o noclobber
$ echo "kick" > tmp
我们也可以写一个简单的if语句的脚本来检查noclobber选项是否开启:
#!/bin/bash
# These lines will print a message if the noclobber option is set:
if [ ! -o noclobber ]
  then
    echo "Your files are not protected against accidental overwriting using redirection."
fi
# ./noclobber.sh 
Your files are not protected against accidental overwriting using redirection.
从输出可以看出,我并未开启noclobber选项。
本文转自 zhangzj1030 51CTO博客,原文链接:http://blog.51cto.com/tech110/232312

转载地址:http://xtxqa.baihongyu.com/

你可能感兴趣的文章
js 字符串操作函数集合
查看>>
nullnullCF 312B(Archer-等比数列极限求和)
查看>>
消息函数windows 程序设计 第三章 (下)
查看>>
java中调用web中的jsp或servlet去通知它们做一些操作
查看>>
Javascript 坦克大战
查看>>
JavaScript自动设置IFrame高度(兼容各主流浏览器)
查看>>
Linux内核中__init, __initdata, __initfunc(), asmlinkage, ENTRY(), FASTCALL()等作用
查看>>
leetcode -- Two Sum
查看>>
Windows多线程
查看>>
Resolve PSExec "Access is denied"
查看>>
C语言局部变量和全局变量问题汇总
查看>>
android 下的网络图片加载
查看>>
Paip.语义分析----情绪情感词汇表总结
查看>>
Linux下软件安装,卸载,管理
查看>>
View Programming Guide for iOS_读书笔记[正在更新……]
查看>>
排查VMWare虚拟机的性能问题
查看>>
yum安装Apache Web Server后各个文件存放位置
查看>>
一些基础密码算法的实现
查看>>
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
查看>>
Android于JNI调用列出的程序
查看>>