首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获得正在执行的Perl脚本的完整路径?

如何获得正在执行的Perl脚本的完整路径?
EN

Stack Overflow用户
提问于 2008-09-17 16:16:00
回答 21查看 195.9K关注 0票数 175

我有Perl脚本,需要在执行期间确定脚本的完整路径和文件名。我发现,根据脚本的调用方式,$0会有所不同,有时包含fullpath+filename,有时仅包含filename。因为工作目录也可能不同,所以我想不出一种可靠的方法来获取脚本的fullpath+filename

有人有解决方案吗?

EN

回答 21

Stack Overflow用户

发布于 2008-09-17 16:31:53

代码语言:javascript
复制
use File::Spec;
File::Spec->rel2abs( __FILE__ );

http://perldoc.perl.org/File/Spec/Unix.html

票数 38
EN

Stack Overflow用户

发布于 2008-09-17 16:22:40

我想你要找的模块是FindBin:

代码语言:javascript
复制
#!/usr/bin/perl
use FindBin;

$0 = "stealth";
print "The actual path to this is: $FindBin::Bin/$FindBin::Script\n";
票数 16
EN

Stack Overflow用户

发布于 2008-09-17 16:29:15

您可以使用FindBinCwdFile::Basename或它们的组合。它们都在Perl IIRC的基础发行版中。

我以前用过Cwd:

Cwd:

代码语言:javascript
复制
use Cwd qw(abs_path);
my $path = abs_path($0);
print "$path\n";
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/84932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档