【发布时间】:2020-08-30 16:48:12
【问题描述】:
我正在尝试使用以下命令从远程服务器下载文件
scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\temp\fileNEW.txt"
如果我打开命令提示符并运行该命令,文件就会被下载。但是,我需要将命令放在 perl 脚本中。如果我将以下命令放在 perl 脚本中
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\temp\fileNEW.txt"';
system(qq($Var1));
运行 perl 命令的本地计算机上存在文件夹 c:\temp 的位置。
然后我得到以下错误
CreateProcessW failed error:2
posix_spawn: No such file or directory
将 $Var1 更改为
my $Var1='scp';
运行脚本会产生
usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program] source ... target
由此我推断出在我对 $Var1 的初始定义中存在某种语法错误
如果我对 $Var1 使用以下任何值
my $Var1='scp -i "c:\users\userX\keyfile.ppk"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt"';
我得到相同的输出
usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program] source ... target
但是,如果我尝试以下任何一种方法:
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\temp\fileNEW.txt"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\\temp\\fileNEW.txt"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:/temp/fileNEW.txt"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\fileNEW.txt"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\\fileNEW.txt"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:/fileNEW.txt"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\temp"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:\\temp"';
my $Var1='scp -i "c:\users\userX\keyfile.ppk" user1@server.org:"/home/user1/file1.txt" "c:/temp"';
我得到了错误
CreateProcessW failed error:2
posix_spawn: No such file or directory
那么,问题是输出文件夹还是其他问题?
【问题讨论】: