我正在编写一个ksh文件,它将FTP文件创建到ftp位置..
cd ${RUNTIME}
NOW=$(date +"%y%m%d%H%M%S")
ftp -i -n -v ${TEST_TP_SERVER} <<END
user $TEST_TP_USER_ID $TEST_TP_USER_PWD
lcd ${OUTDIR}
put "TEST.txt" "$NOW.ABC"
quit
END
我的问题是如何在此文件中处理错误。 如果在cd $ {RUNTIME}行之后发生了某些事情,那么我可以这样写:
if [ "$?" -ne "0" ]; then
echo "Can not connect , wrong user name / password "
exit 1
fi
但在ftp -i -n -v ${TEST_TP_SERVER} <<END
行后,我不能写同样的内容。
那么任何人都可以告诉我如何在FTP命令后编写错误处理部分?
答案 0 :(得分:0)
从错误检查的角度来看,使用ftp
命令的显式输入本质上是不可靠的。查找Stack Overflow上的几十个问题之一,显示如何使用expect
(here是一个)自动化FTP会话并使用类似的东西。这样,您就可以可靠地检测和处理错误,以及处理超时和断开连接。