我正在运行一个名为 statusCron.pl 的脚本。
我想在运行该脚本时,该脚本可以检测/打印其名称 statusCron.pl 。通过这种方式,我可以检测到它的进程ID,这样如果它发现自己已经在后台运行,它就会自杀。
通过这种方式,我可以消除硬编码并将其重新应用到我的所有脚本中。
Additional:我不希望包含该目录。
答案 0 :(得分:2)
您可以像这样使用File :: Basename:
use File::Basename;
print basename(__FILE__), "\n";
答案 1 :(得分:2)
您可以在$0
变量中获取正在运行的程序的名称,并且为了避免使用目录名,我们使用模块File :: Basename来仅获取基本名称。
use File::Basename;
my $name = basename($0);
print $name;
其他特殊变量
答案 2 :(得分:0)
您可以通过编写此
来打印Perl脚本文件的名称和进程IDprintf("%s %d\n", $0 =~ m|([^\\/]+)$|, $$);
答案 3 :(得分:0)
#!/usr/bin/perl
print $0;
$0
存储脚本的名称