일단 서버에 FTP를 연결하려고하면 파일을 가져 와서 5 분 동안 다시 잠자기 모드로 설정합니다. 그 부분은 정확하지만 코드를 추가 할 때 코드가 실행될 때 입력되는 두 개의 변수가 추가되었습니다. 사용자는 연결할 사용자 이름을 입력합니다. 그래도 연결하는 데 문제가 있습니다. 사용자 이름 t14pb를 입력 할 때, 마치 t14pmds와 마찬가지로 첫 번째 if 문으로 이동합니다. 코드는 다음과 같습니다.특정 사용자 이름을 사용하여 서버에 FTP 연결
#!/usr/bin/perl
use Net::FTP;
$host = "fd00p02";
$username = "$ARGV[0]";
$ftpdir = "/";
$file = "$ARGV[1]";
print "$username\n";
print "$file\n";
if ($username == t14pmds) {
$password = "test1";
$ftp = Net::FTP->new($host) or die "Error connecting to $host: $!";
$ftp->login($username, $password) or die "Login failed: $!";
$ftp->cwd($ftpdir) or die "Can't go to $ftpdir: $!";
$ftp->get($file) or die "Can't get $file: $!";
sleep 5;
$ftp->put($file) or die "Can't put $file: $!";
$ftp->quit or die "Error closing ftp connection: $!";
}
if ($username == t14pb) {
$password = "test2";
$ftp = Net::FTP->new($host) or die "Error connecting to $host: $!";
$ftp->login($username, $password) or die "Login failed: $!";
$ftp->cwd($ftpdir) or die "Can't go to $ftpdir: $!";
$ftp->get($file) or die "Can't get $file: $!";
sleep 5;
$ftp->put($file) or die "Can't put $file: $!";
$ftp->quit or die "Error closing ftp connection: $!";
}
if ($username == t14pmds_out) {
$password = "test3";
$ftp = Net::FTP->new($host) or die "Error connecting to $host: $!";
$ftp->login($username, $password) or die "Login failed: $!";
$ftp->cwd($ftpdir) or die "Can't go to $ftpdir: $!";
$ftp->get($file) or die "Can't get $file: $!";
sleep 5;
$ftp->put($file) or die "Can't put $file: $!";
$ftp->quit or die "Error closing ftp connection: $!";
}
if ($username == t14fiserv) {
$password = "test4";
$ftp = Net::FTP->new($host) or die "Error connecting to $host: $!";
$ftp->login($username, $password) or die "Login failed: $!";
$ftp->cwd($ftpdir) or die "Can't go to $ftpdir: $!";
$ftp->get($file) or die "Can't get $file: $!";
sleep 5;
$ftp->put($file) or die "Can't put $file: $!";
$ftp->quit or die "Error closing ftp connection: $!";
}
'use strict; 경고를 사용합니다 .'. 이것은 인용 부호를 잊어 버리거나, 문자열 비교를 위해'eq'를 사용하지 않거나, 수치 비교에서 문자열을 사용하거나, 변수를 선언하지 않는 것과 같은 몇 가지 실수를 지적 할 것입니다. – amon