有没有办法从机器的任何位置执行 perl 脚本?

有没有办法从机器的任何位置执行 perl 脚本?

我想知道是否有其他方法可以在不明确提供路径的情况下执行 perl 文件。

例子:

perl ./images/seed/test.pl

我读了导出路径命令,但不太明白。该代码应该在 perl 文件中吗?如果是,请告诉我。谢谢。

答案1

OP 没有指出该脚本在什么操作系统上运行。

操作系统:UNIX/Linux/Mac OS X

  • 添加到脚本顶部#!/usr/bin/env perl
  • 或者添加到脚本顶部#!/usr/local/bin/perl(使用 验证 perl 位置which perl
  • 使脚本可执行chmod u+x srcipt.pl(或者+x任何人都可以执行)
  • 制作垃圾桶可执行文件目录mkdir ~/bin
  • 将脚本移动到垃圾桶目录mv scritp.pl ~/bin
  • 在登录点文件中添加~/bin目录(取决于使用的 shell)
  • 检查你使用的 shellecho $SHELL
  • 例如狂欢编辑.bashrc并添加export PATH $PATH:~/bin
  • 登出/登录捡起进行了更改(或者源 ~/.bashrc)

此时您应该能够在文件系统的任何位置启动脚本。

操作系统 Windows:

答案2

在您的 shell 中执行以下命令,以便在目录中查找可执行文件/path/to/perl/script

export PATH=/path/to/perl/script:${PATH}

如果您计划经常使用该路径中的脚本,请考虑将上述命令添加到您的~/.bashrc~/.bash_profile文件中。

将此行添加到 Perl 脚本中作为脚本的第一行(它告诉 shell 使用 Perl 解释器):

#!/usr/bin/env perl

使 Perl 脚本可执行,以便您可以通过键入其名称来执行它:

chmod u+x /path/to/perl/script/perl_script_name.pl

现在,您可以按照以下任一等效方式执行 Perl 脚本:

perl_script_name.pl
# or:
/path/to/perl/script/perl_script_name.pl
# or:
perl /path/to/perl/script/perl_script_name.pl

也可以看看:
如何正确添加路径到PATH?
我应该使用什么来表示 Perl 脚本的 shebang 行?

相关内容