如何使用Perl检查远程服务器上是否存在文件?
我可以在使用Perl模块时执行此操作Net::FTP吗?
检查是否存在文件
if (-e $file_check) {
print "File Exists!\n";
}
else {
print "File Doesn't Exist!\n";
}
Run Code Online (Sandbox Code Playgroud)
使用SSH执行此操作可能是最好的服务:
#!/usr/bin/perl
use strict;
use warnings;
my $ssh = "/usr/bin/ssh";
my $host = "localhost";
my $test = "/usr/bin/test";
my $file = shift;
system $ssh, $host, $test, "-e", $file;
my $rc = $? >> 8;
if ($rc) {
print "file $file doesn't exist on $host\n";
} else {
print "file $file exists on $host\n";
}
Run Code Online (Sandbox Code Playgroud)
如果文件位于远程服务器上的 FTP 空间中,则使用 Net::FTP。获取ls目录列表并查看您的文件是否在其中。
但您不能只是去查看服务器上是否有任意文件。想想这将是一个多么严重的安全问题。