如何从shell脚本执行perl文件

use*_*190 8 shell perl

我有一个关于如何在shell脚本中执行perl文件的问题

我现在有2个文件,"test.sh"和"test.pl",这里是我的脚本示例

SHELL脚本

#!/bin/bash
perl FILEPATH/test.pl
......
Run Code Online (Sandbox Code Playgroud)

PERL脚本

#!/usr/bin/perl
my $a = "hello"
sub saysomething
{
    print $a;
}
.....
Run Code Online (Sandbox Code Playgroud)

我调用shell脚本的方式是:在shell脚本的路径下,执行"./test.sh"

上面提到的都是在GUN bash环境下工作,版本4.2.24(1)-release(i686-pc-linux-gnu)+ perl(v5.14.2)

但是,如果我把这些脚本放在服务器上(我无法更改bash/perl版本)GNU bash,版本4.2.10(1)-release(x86_64-pc-linux-gnu)+ perl(v5.12.4),我收到了以下信息:

FILEPATH/test.pl:第2行:my:命令未找到

有谁知道我该如何解决这个问题?

顺便说一句,如果我单独执行perl脚本(perl FILEPATH/FILENAME.pl),它可以很好地工作.

cho*_*oba 0

“command not find”是 shell 发出的错误。您正在尝试通过 shell 而不是 Perl 运行 Perl 脚本。

  • 那我该如何解决呢?以及为什么它可以在另一台机器上工作? (3认同)