这是我得到的错误,我复制并粘贴了一个名为ncbi的网站的直接命令集
cd ~
perl -MNet::FTP -e \
'$ftp = new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive => 1); $ftp->login;
$ftp->binary; $ftp->get("/entrez/entrezdirect/edirect.zip");'
unzip -u -q edirect.zip
rm edirect.zip
export PATH=$PATH:$HOME/edirect
./edirect/setup.sh
我不知道该寻找什么,因为我不熟悉这些命令
编辑 所以有些东西是由网站上的某个人修复的,但我仍在尝试输入
'perl -MNet::FTP -e '$ftp = new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive => 1); $ftp->login; $ftp->binary; $ftp->get("/entrez/entrezezdirect/edirect.zip");'
并没有发生任何事情就像是因为我只是输入“猫”因为只是一个空行发生
答案 0 :(得分:2)
FTP连接可能会出现很多问题,至少有一件事情出错了。 Net::FTP
docs for new
说
如果构造函数失败,将返回undef,并在
中显示错误消息$@
所以你至少可以开始使用
来诊断问题perl -MNet::FTP -e '$ftp=new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive => 1) or print $@'
答案 1 :(得分:0)
它的代码对我来说很好。尝试将Debug设置为1,并在此处粘贴输出:
cd ~
perl -MNet::FTP -e \
'$ftp = new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive => 1, Debug => 1); $ftp->login;
$ftp->binary; $ftp->get("/entrez/entrezdirect/edirect.zip");'
unzip -u -q edirect.zip
rm edirect.zip
export PATH=$PATH:$HOME/edirect
./edirect/setup.sh
答案 2 :(得分:-1)
Net :: FTP的构造函数没有返回任何内容。这意味着它无法连接到指定的主机。
首先,在尝试调用$ftp
方法之前,更改脚本以检查构造函数(login
)的返回值。
在脚本之外,您应该检查是否可以通过FTP连接到主机。如果没有,请检查您的机器和防火墙设置。