昨天的帖子关于“pipefail”也参与一些系统对待一个空文件为有效文件。这原来是非常常见的。我想,人们可能会在完全相同多少,你可以逃脱被震惊了,不同的事情会有多少接受这样的野兽。
一个失败的模式我用与某些基于包的系统,看到有大量的计算机作业的是,有时它只是失败,实际数据来填充它。这是由于重启威力以前做的包安装过程中出现,或者也许是打包被杀害出于某种原因,但它意味着各种不良的会发生。
特别是,我看到了倍,其中,将在合适的地点放置磁盘上的文件,用正确的权限(可读+可执行文件),但完全清空!然后,后来,或其他东西会问,如果安装了包,至于包数据库而言,它是。此外,那么cron作业会尝试运行这些二进制文件之一,另外,它不会失败。不,这是完全幸福的运行完全相同罢了。
是的,如果你是不是已经意识到了这一点,一个空文件,该文件是可执行文件将完全“跑”到“建成”,并甚至会产生0的退出码如果您所检查的退出码为成功或失败,它会想一切都刚刚好。
不,真的,看:
Linux的$触摸空 Linux的文件模式$ A + Rx空子 Linux的$ ls -l命令清空 -rwxr-XR-X 1 rkroll rkroll 0 4月6日12时07空 Linux的$ ./empty Linux的$回声$? 0
真棒,对不对?这只是正常在Mac上为好。我没有在Unix上的其他口味,我做到了早在20世纪90年代,以进一步测试shell帐号的相当的品种,但我必须假设它可能会工作的大部分时间。这也可能是一些有趣的事情,涉及的解释是如何纺起来 – 找#!和这样的东西。
我的意思是,将错误是什么啊?
这是否意味着最小/斌/真其实是一个空文件?