bash 中实现ftp传输的异常怎么捕获?

bash 中实现ftp传输的异常怎么捕获?

在bash中使用ftp
..........................
ftp -i -in < $FTP_SCRIPT >> $FTP_LOG
.........................

当ftp传输文件时,往往会发生很多错误,比如连接超时,登陆密码错误,文件不存在.....
对应的ftp会有相应的返回代码,比如2XX, 3XX, 5XX, 我怎么在bash 中获得这些返回代码?

比如密码不正确,返回530,捕获错误后提示用户重新输入密码,然后脚本读入用户输入,在尝试ftp连接。

两个问题:
1:有朋友建议我到log文件中grep 相关信息,可是我的log文件里面只有错误信息,没有错误代码, 为什么?

2:ftp 的错误代码能不能赋给变量呢?就好像ftp是一个子函数, RETURN_CODE=ftp.....
然后  case $RETURN_CODE=3xx;................"

多谢!      
shengzhongyan
推荐使用强大的 expect       
expect 是什么东西,每接触过么,怎么用的?      
shengzhongyan
这个世界上有种东西叫搜索引擎      
link: Expect Home