0

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

4

1 回答 1

0

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

于 2013-11-08T16:05:54.413 回答