【发布时间】:2011-01-01 13:53:35
【问题描述】:
如何编写脚本来确定 /bin/sh 中的文件是否超过 30 分钟?
很遗憾,系统中不存在stat 命令。这是一个旧的 Unix 系统,http://en.wikipedia.org/wiki/Interactive_Unix
不幸的是,Perl 没有安装在系统上,客户也不想安装它,也不想安装它。
【问题讨论】:
-
交互式 Unix,哇。如果您使用的是一个非常非标准且过时的 Unix,而不是与任何古怪版本的 shell 实用程序作斗争,那么他们最好的选择可能是使用 Perl。它应该可以编译(它有针对交互式 Unix 的规定,但您可能必须使用旧版本,因为我怀疑有人会在一段时间内完成它)并且它可能已经安装。然后它只是
use File::stat; print "Older" if (time - stat($file)->mtime) > 60*30; -
perl 很遗憾没有安装在系统上,客户也不想安装它。
-
@magol 是时候说服客户安装一些更新的软件了。向他们展示您在与过时的软件作斗争中浪费了多少时间,将其转化为您必须向他们收取的额外的 $money$,即使是完成一项简单的任务。然后请求更新。
-
他们将在一年内更换系统。我已经准备好在 Windows 上运行的代码。但在那之前,旧系统是被管理的,他们希望在系统上尽可能少地改变,以满足其他系统的新需求
-
@magol 在这种情况下,与其升级现有软件,不如在 PATH 之外安装必要的软件。将其粘贴到正常 PATH 之外的 /usr/local/whatever 中并直接引用它,甚至只是在您的主目录中。这没有风险,而且工作量很小。