以root身份运行本地Perl

这是一个简单技巧,用于在基于UNIX的系统上方便地以root用户身份运行本地Perl。

有时需要以root身份运行本地安装的Perl。然而,在命令行中键入

sudo perl program.pl

默认情况下,执行的是系统Perl二进制文件。这可能会导致问题,因为系统Perl可能没有所需的模块,或者甚至不是您需要运行的正确版本的Perl。解决这个问题的一个简单方法是使用which命令

sudo $(which perl) program.pl

通过在大括号括号内嵌套which,终端将首先解析命令,返回一个字符串到本地Perl二进制文件。然后sudo操作这个二进制文件而不是系统Perl二进制文件。您可以使用以下终端命令来证明这一点

which perl
/home/sillymoose/perl5/perlbrew/perls/perl-5.16.3/bin/perl

sudo which perl
/bin/perl

sudo echo $(which perl)
/home/sillymoose/perl5/perlbrew/perls/perl-5.16.3/bin/perl


本文最初发布在 PerlTricks.com

标签

David Farrell

David是一位专业程序员,他经常在 tweetsblogs 中分享代码和编程的艺术。

浏览他们的文章

反馈

这篇文章有什么问题吗?通过在 GitHub 上打开一个问题或拉取请求来帮助我们。