【发布时间】:2011-01-10 13:00:55
【问题描述】:
我有一个 KornShell (ksh) 脚本,它写出 FTP 脚本并执行以从 Windows 服务器获取一些文件到 UNIX。
echo "user <username> <pwd>" >ftpin.out
echo "bin">>ftpin.out
echo "get file.txt" >>ftpin.out
echo "get file2.txt" >>ftpin.out
echo "!echo $?">>ftpin.out
echo"bye">>ftpin.out
ftp -n -i servername <ftpin.out
echo $?
这里我无法检查文件是否存在于源 Windows 系统上。因为这种通常的错误处理不起作用并且 $?当任何文件存在而其他文件不存在时,始终为 0。我什至尝试检查 ERRORLEVEL,但这在 UNIX(Solaris 10)上不起作用。
任何人都可以展示简单的错误处理示例,哪些有效或如何做到这一点?日志文件解析也被考虑在内,但还有其他内置方式吗?其他 FTP 机制超出了范围。我们使用的是普通的旧 FTP。
【问题讨论】:
-
停止使用
ftp,改用wget、curl或lftp。 -
抱歉...我目前的组织不希望这样。我对此束手无策。
标签: shell unix error-handling ftp ksh