bash今天你坑队友了吗

Posted 运维从入门到放弃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash今天你坑队友了吗相关的知识,希望对你有一定的参考价值。

需求:

压缩日志并删除压缩过的文件

 

很日常的运维需求!!!

好,来看代码

1 echo start
2 bzip2 -z -9 quke.log
3 rm -f quke.log
4 echo delete

不管是初级运维还是高级运维,都可能会顺手写成这样,看似没毛病

问题来了

[[email protected] ~]$ ls quke.
quke.py  quke.sh
[[email protected]beijing-console ~]$ dd if=/dev/zero of=./quke.log    #我生成一个2.1G的文件
^C4079929+0 records in
4079929+0 records out
2088923648 bytes (2.1 GB) copied, 9.81969 s, 213 MB/s

[[email protected]beijing-console ~]$ sh quke.sh
start
^C      #这是压缩过程中我ctrl+c终止了
bzip2: Control-C or similar caught, quitting.
bzip2: Deleting output file quke.log.bz2, if it exists.
delete    # WTF 原日志也给删除了
[[email protected]beijing-console ~]$ ls quke.
quke.py  quke.sh

所以如果以后碰到这种需求,还是要考虑周到一点

echo start
bzip2 -z -9 quke.log && rm -f quke.log
echo delete

这样就能避免了

不要坑队友 !!!

以上是关于bash今天你坑队友了吗的主要内容,如果未能解决你的问题,请参考以下文章

软件工程导论 结对编程 队友代码分析

今天你的静态变量和静态代码块执行了吗?

bash 网络接口

-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段

markdown Bash片段

sh 杂项bash片段