将perl脚本添加到模块分发并使其可以全局访问

时间:2015-07-29 02:42:40

标签: perl

我想知道是否有一个教程或简单的方法来添加我编写的perl脚本,以供全局用户访问。

例如。你有像Carton,Cpanm这样的应用程序,就像npm有npm install -g选项一样。

我尝试将我的脚本放在我的perl包的bin目录中,但它无效。

1 个答案:

答案 0 :(得分:0)

cpan的App::*区域包含可安装的工具和实用程序。查看一个较小的内容,例如App::p,我看到its structure看起来像Makefile.PL包含ExtUtils::MakeMaker使用install来定义如何构建测试和small perl script相对magic number

但是,如果你正在谈论只是编写一个你编写的脚本并使其成为可执行的用户,那么它与所有脚本的工作方式基本相同(如果你没有问这个,那就道歉):

使用像bash这样的shell时的一个Unix,Linux和Mac OS X:

  1. 通过运行chmod u+x filename
  2. ,可以使任何文件对用户可执行
  3. 可执行文件应以shebang开头,对于包含脚本的纯文本文件,man perlintro就是该数字。所以启动你的文件(如https://dev.mysql.com/doc/refman/5.0/en/enum.html所述):
    #!/usr/bin/perl
    use strict;
    use warnings;
    
  4. 从命令行指定可执行文件时,您可以输入完整路径,可能还有shell的便利。如果文件位于$HOME/myscripts/runme.pl,您可以在提示时输入该文件,在Mac OS X上展开/home/username/myscripts/runme.pl/Users/username/myscripts/runme.pl)或在~/myscripts/runme.pl提示符下输入bash 。或者runme.pl位于您当前的工作目录中:./runme.pl
  5. 如果您只需输入runme.pl shbash,许多shell会按顺序搜索您的PATH变量,并在任何一个中运行第一个runme.pl指定的路径。
    • 因此,如果echo $PATH为您提供的内容如下:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin并且您希望第3点中的示例仅使用runme.pl,那么
    • 将文件移动到其中一个目录中(不推荐)。
    • 或者将export PATH=$PATH:$HOME/myscripts添加到~/.bashrc~/.profile文件的底部或同样添加到您的首选shell中。确保打开一个新的登录shell会话,EG关闭该终端窗口并打开一个新的。
  6. 在Windows上,这是留给读者的练习。 ☺