今天发现以前能跑的一个角本, 突然不能跑了. 于是我被要求去看了一下为什么不能跑了? 找到角本后, 直接运行报"Command not found"的错误, 但是我看文件是存在的, 并且执行的权限也是有的, 如下所示:

$ p1.pl
p1.pl: Command not found
$ ls -la p1.pl
-rwxrwxr-x   1 oracle   dba  ...... p1.pl

    用vim打开程序一看, 原来第一行中的perl解释器的路径不对:

#!/usr/share/bin/perl -w
#

    从而导致了运行perl程序时报"Command not found", 将其更改为准确的值后, 就可以跑了:

#!/usr/local/bin/perl -w
#

    原因应当是开发人员开发的机器上的perl安装路径和正式用的机器上的perl的安装路径不一致, 在没有详细测试的情况下就将角本放上去了, 从而引起了问题. 这么小的一件事情, 如果我们没有收到邮件或忽略它的话, 可能导致很多的定时角本不能跑, 也有可能引起很大的问题.