如何使用Perl检查远程服务器上是否存在文件?

Luk*_*uke 5 ftp perl module

如何使用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)

Cha*_*ens 6

使用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)


And*_*ter 1

如果文件位于远程服务器上的 FTP 空间中,则使用 Net::FTP。获取ls目录列表并查看您的文件是否在其中。

但您不能只是去查看服务器上是否有任意文件。想想这将是一个多么严重的安全问题。