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

发布于 2024-12-28 20:33:18 字数 289 浏览 0 评论 0原文

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

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

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

bash: example.pl: command not found

There is a similar question about Windows, but it won't work for Unix based computers (OS X specifically).

I want to type the name of a file, say example.pl or example.pl parametertext.txt, and have it know to execute perl.

I specified #!/usr/bin/perl in the file so it can find the executable. Instead, I get the message:

bash: example.pl: command not found

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

千纸鹤 2025-01-04 20:33:18

您可以这样做,

  1. 找到解释器/执行器路径。在本例中,其 /usr/bin/perl/usr/bin/env perl
  2. 将其添加到文件的第一行,如 #!/usr/ bin/perl.
  3. 给文件 <​​code>chmod +x example.pl 授予执行权限

,现在它将运行

    $ ./example.pl

You can do it this way,

  1. Find the interpreter/executors path. In this case its /usr/bin/perl or /usr/bin/env perl
  2. Add it to the first line of the file as #!/usr/bin/perl.
  3. Give execute permission to the file chmod +x example.pl

Now it will run

    $ ./example.pl
复古式 2025-01-04 20:33:18

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

You need to make the top line (the "shebang") #!/usr/bin/perl (note the slash where you have a space). Then, first you need to make sure that is actually the correct path to your perl executable (type which perl to see where it is). If it's elsewhere, correct the path appropriately. Then you need to make sure the script has the execute permission set. Type ls -l example.pl, and look for an x in the first column (fourth character, in particular). If it's not there, you need to make the script executable with chmod a+x example.pl. Finally, to run the program, you need to use ./example.pl. The ./ tells your shell that you want the script in your current directory.

赠意 2025-01-04 20:33:18

我有两个想法要补充:

1)要使用 example.pl test1.txt 你的路径应该包含一个点。
回显$PATH
/usr/bin:/usr/X11R6/bin:/usr/bin/X11:。

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

I have two thoughts to add:

1) To use example.pl test1.txt your path should contain a dot.
echo $PATH
/usr/bin:/usr/X11R6/bin:/usr/bin/X11:.

2) Your file end of line should be unix, \n. At least your shebang line contain excatly your perl path, ended with a \n.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文