有一个关于Windows的类似问题,但对于基于Unix的计算机(特别是OS X)不适用。
我想要输入文件名,例如example.pl
或example.pl parametertext.txt
,并让它知道执行perl。
我在文件中指定了#!/usr/bin/perl
,以便找到可执行文件。但实际上,我收到了以下消息:
bash: example.pl: command not found
有一个关于Windows的类似问题,但对于基于Unix的计算机(特别是OS X)不适用。
我想要输入文件名,例如example.pl
或example.pl parametertext.txt
,并让它知道执行perl。
我在文件中指定了#!/usr/bin/perl
,以便找到可执行文件。但实际上,我收到了以下消息:
bash: example.pl: command not found
你可以按照如下步骤进行操作:
/usr/bin/perl
或 /usr/bin/env perl
#!/usr/bin/perl
chmod +x example.pl
现在该文件就可以被执行了。
$ ./example.pl
#!/usr/bin/perl
更正为正确的路径(注意你当前的路径中有一个空格,应该改为斜杠)。首先,你需要确保这是你 perl
可执行文件的正确路径(使用命令 which perl
查看它所在的位置),如果它不在那里,请相应地更正路径。然后,你需要确保脚本具有可执行权限。在控制台输入命令 ls -l example.pl
,查找第一列(特别是第四个字符)中的 x
是否存在,如果不存在,则需要使用命令 chmod a+x example.pl
使脚本具备可执行权限。最后,要运行程序,你需要使用 ./example.pl
命令。其中的./
告诉你的shell程序在当前目录下寻找脚本。我有两个想法要补充:
1) 使用 example.pl test1.txt 时,你的路径应该包含一个点。 echo $PATH /usr/bin:/usr/X11R6/bin:/usr/bin/X11:。
2) 你的文件行尾应该是Unix格式,\n。至少你的shebang行应该准确地包含你的perl路径,以 \n 结尾。
#!/usr/bin/perl
吗?没有空格(不确定这是否重要),并且是完整路径?此外,您的.pl文件可执行吗?(尝试chmod +x example.pl
)。更不用说如果“.”不在您的“PATH”中,则需要运行./example.pl
而不是example.pl
。 - Dan Fegolast | ctime.pl
。-bash: ctime.pl: 找不到命令
。 - Chris