我正在尝试从 perl 脚本中调用脚本。我可以看到两种方法。
使用 ./somescript 或指定完整的目录路径。两者都不是理想的,因为“./”只有在调用者 cd 进入目录时才会起作用。完整路径,不是相对的,而是绝对的。无论如何围绕这个?谢谢
一种方法是确定您的脚本所属的目录,并使用该目录如何获取正在执行的 Perl 脚本的完整路径?
提供了 2 种方法来实现这一点。
要获取当前正在执行的脚本的完整路径,可以使用PerlMonks中的以下任一代码块。文件::基本名称:
#!/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;
应该可以使用基本目录构建完整路径,再加上您对初始脚本和要调用的第二个脚本的相对位置的了解。这样,虽然您将使用绝对路径来调用第二个脚本,但您只是在硬编码相对路径?