如何从我的 perl 脚本调用同一目录中的脚本
Posted
技术标签:
【中文标题】如何从我的 perl 脚本调用同一目录中的脚本【英文标题】:How can I invoke a script in the same directory from my perl script 【发布时间】:2012-06-09 11:37:52 【问题描述】:我正在尝试从 perl 脚本中调用脚本。 我可以看到两种方法。
使用 ./somescript 或指定完整的目录路径。两者都不是理想的,因为“./”只有在调用者 cd 进入目录时才会起作用。完整路径,不是相对的,而是绝对的。无论如何围绕这个?谢谢
【问题讨论】:
***.com/questions/84932/… 【参考方案1】:如果要查找原始脚本所在的目录,请使用 FindBin
模块,如果要查找当前工作目录,请使用 Cwd
。
【讨论】:
【参考方案2】:一种方法是确定您的脚本所属的目录,并使用该目录How do I get the full path to a Perl script that is executing?
提供了 2 种方法来实现这一点。
【讨论】:
【参考方案3】:要获取您当前正在执行的脚本的完整路径,您可以使用来自 PerlMonks 的either of the following chunks of code。文件::基本名称:
#!/usr/bin/perl -w
use strict;
use File::Spec::Functions qw(rel2abs);
use File::Basename;
print dirname(rel2abs($0));
或CWD 可用于此目的。 CWD 示例:
use Cwd;
my $dir = getcwd;
应该可以使用基本目录构建完整路径,再加上您对初始脚本和要调用的第二个脚本的相对位置的了解。这样,虽然您将使用绝对路径来调用第二个脚本,但您只是在硬编码相对路径?
【讨论】:
以上是关于如何从我的 perl 脚本调用同一目录中的脚本的主要内容,如果未能解决你的问题,请参考以下文章