如何处理.ksh文件中的错误

时间:2013-11-08 10:15:50

标签: unix ftp

我正在编写一个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命令后编写错误处理部分?

1 个答案:

答案 0 :(得分:0)

从错误检查的角度来看,使用ftp命令的显式输入本质上是不可靠的。查找Stack Overflow上的几十个问题之一,显示如何使用expecthere是一个)自动化FTP会话并使用类似的东西。这样,您就可以可靠地检测和处理错误,以及处理超时和断开连接。