0

我创建了一个名为test.pl.

我更改了 chmod u+x 的权限模式:

chmod u+x test.pl

我创建了一个符号链接:

ln -s path/test.pl test

之后,我尝试运行test,但它被解释为 bash 脚本。它给出了一个错误。

请问你知道为什么吗?

4

2 回答 2

9

test是一个内置命令。

要执行test在当前目录中命名的命令,请指定(相对或绝对)路径:

$ ./test

此外,您需要#!/usr/bin/perl在脚本的第一行拥有,以便系统知道如何执行它。

于 2013-08-20T19:08:46.680 回答
5

您的脚本必须有一个 shebang 行,即包含要使用的解释器的第一行。

#!/usr/bin/env perl
#... your script content here.

所以shell知道如何解释它。

顺便说一句,最佳实践是用来env确定您当前的 perl 版本,特别是在使用perlbrew或类似工具时,它们除了系统工具之外还安装了自己的 perl。

于 2013-08-20T18:59:50.693 回答