如何在unix环境中的任何位置运行perl脚本?

RnD*_*RnD 5 unix perl

我有这个perl脚本,我需要分发给想要在unix环境中的任何地方运行脚本的同事.我能做些什么才能让他们轻松运行这个PERL脚本?例如,他们可以在目录中的某个位置放置PERL脚本,然后只运行输入

./xyz.pl ttt.conf
Run Code Online (Sandbox Code Playgroud)

没有声明路径(如/home/abc/bin/ddd/xyz.pl ttt.conf).

rob*_*ert 5

将脚本放入/usr/local/bin(或其他任何地方$PATH).您的系统管理员可能需要帮助您.


TLP*_*TLP 5

我以前的方式是在您的主目录中添加一个"bin"目录,并将其添加到$PATH变量..然后您可以将要使用的任何脚本添加到该目录.

我不再熟悉确切的语法,但是类似于:

在.bashrc中:

$PATH = ( $PATH , $HOME/bin )
Run Code Online (Sandbox Code Playgroud)

然后将脚本放入/home/user/bin(假设$ HOME ==/home/user).当你重新加载shell时,它将像任何正常的命令/程序一样可用.

ETA:请参阅下面关于语法的罗伯特评论.此外,为了让您的同事使用您的脚本,您可以简单地使用硬编码路径,例如/home/patrick/bin.

  • sh和bash的语法:`PATH ="$ HOME/bin:$ PATH"; export $ PATH`; 对于csh:`setenv PATH"$ HOME/bin:$ PATH"`. (3认同)

Stu*_*att 5

我使用的技术是:

#!/usr/bin/env perl
Run Code Online (Sandbox Code Playgroud)

这是让命令解释器找到 Perl 的常用方法,而无需 (a) 移动文件,或 (b) 在 shebang 中声明 Perl 的显式路径。

它在可移植性下提到:http : //en.wikipedia.org/wiki/Shebang_(Unix )