在命令行中执行perl而不在UNIX中指定perl

时间:2012-01-25 19:39:50

标签: perl bash unix command-line

有关于Windows的类似问题,但它不适用于基于Unix的计算机(特别是OS X)。

我想输入一个文件的名称,比如example.plexample.pl parametertext.txt,并让它知道执行perl。

我在文件中指定了#!/usr/bin/perl,以便找到可执行文件。相反,我收到了消息:

bash: example.pl: command not found

3 个答案:

答案 0 :(得分:11)

你可以这样做,

  1. 找到解释器/执行器路径。在这种情况下,它是/usr/bin/perl/usr/bin/env perl
  2. 将其添加到文件的第一行#!/usr/bin/perl
  3. 授予文件chmod +x example.pl
  4. 的执行权限

    现在它将运行

        $ ./example.pl
    

答案 1 :(得分:2)

你需要制作顶线(“shebang”)#!/usr/bin/perl(注意你有空格的斜线)。然后,首先您需要确保实际上是perl可执行文件的正确路径(键入which perl以查看它的位置)。如果它在其他地方,请适当地纠正路径。然后,您需要确保脚本具有执行权限集。输入ls -l example.pl,在第一列中查找x(特别是第四个字符)。如果不存在,则需要使用chmod a+x example.pl使脚本可执行。最后,要运行该程序,您需要使用./example.pl./告诉你的shell你想要当前目录中的脚本。

答案 2 :(得分:1)

我有两点想法补充:

1)要使用example.pl test1.txt,您的路径应包含一个点。 echo $ PATH 的/ usr / bin中:在/ usr / X11R6 / bin中:在/ usr / bin中/ X11:

2)你的文件行尾应该是unix,\ n。至少你的shebang行包含你的perl路径,以\ n。

结尾