所以我有:
test.pl > test.log
有没有办法知道我正在输出到“test.log”的 test.pl 中?在我的脚本末尾,我想对 test.log 进行一些操作而不对名称进行硬编码。
最佳答案
也许吧。以下适用于 Linux,但不会很好地移植到其他系统...
#!/usr/bin/env perl
use strict;
use warnings;
my $out = readlink("/proc/$$/fd/1");
print STDERR "I am being output to $out\n";
当然,这可能是个坏主意。最好显式打开文件并用 Perl 写入,而不是让 shell 设置重定向。
关于perl - 从 perl 脚本中,您可以知道要将输出重定向到的文件的名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20287514/