ftp返回值问题

关于shell脚本实现的FTP传输的返回值问题:

      有一个需要注意的地方,就是在该段程序的后面,你需要去判断自动FTP是否成功了——就是你传送或者获取是否成功了。这里的判断也有两个思路:

       1. 如果是获取,则在本地判断是否已经成功获取。如果是传送,则需要再次调用自动FTP脚本,在FTP服务器正确的目录去判断是否传送成功。不过这样的办法显然是“笨重”的;

       2. 通过shell常用的方式:$?来判断是否成功,如果返回值是0则表示成功,而返回值非0则表示没有成功——但是,我所说的需要注意的地方,正是这里需要注意的。其实以上代码,不管是否自动FTP是否成功,返回值其实都是0。这会让很多人困扰,为什么呢?不要忘记了,其实你最后的代码脚本是EOF,所以,不管你前面自动FTP传送还是获取都是失败的,其实这个正常结束的符号让这个脚本“正常结束”了,因此,$?的返回值就是0了。

以上所述,无法使用$?来判断ftp是否成功。测试如下:

1.1、开发ftp脚本

vim ftp.sh
ftp -i -n <<FTPIT
open 192.168.1.1 21
user dd dd
quit
FTPIT

1.2、执行ftp.sh,并查看返回值,$?的返回值是0(0标识成功).

[hadoop@hadoop6 xiaogangguan]$ sh ftp.sh
ftp: connect: Connection timed out
Not connected.
[hadoop@hadoop6 xiaogangguan]$ echo $?
0


那么如何判断ftp的脚本是否执行成功了呢?

2.1、修改FTP脚本,通过生成的错误文件来判断ftp是否成功。

ftp -i -n <<FTPIT > errfile
open 192.168.1.1 21
user dd dd
quit
FTPIT

 如果 errfile的size为zero,则表明ftp没问题 ...要判断具体什么错误只能根据errfile中的错误描述了

转载于:https://my.oschina.net/data99/blog/647936

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、新增 1、新增“外部选择框_点击”,该命令可触发选择框选与取消选事件; 2、新增“__query_bit”,查询一个整数 32位的某一位是否为 1;感谢【@福仔 】提供; 3、新增“__set_bit_on”,设置一个整数 32位的某一位为1, 返回设置后的值;感谢【@福仔 】提供; 4、新增“__set_bit_off”,设置一个整数 32位的某一位为0, 返回设置后的值;感谢【@福仔 】提供; 5、新增“磁盘_取驱动器总线类型”,取驱动器总线类型;感谢【QQ:3602624】提供; 6、新增“系统_禁用文件系统重定向”,禁用调用线程的文件系统重定向,默认情况下启用文件系统重定向。此功能对于想要访问本机system32目录的32位应用程序很有用; 7、新增“系统_恢复文件系统重定向”,恢复调用线程的文件系统重定向; 二、修复 1、修复“窗口_毛玻璃特效”,自定义类型传址没有勾选;感谢【@camingo 】反馈问题; 2、修复“键盘_消息”,状态为单击时没有处理弹起;感谢【@mythleng 】反馈问题; 3、修复“网页_更改IE版本”,IE11的默认值;感谢【@UltrSeven 】反馈问题; 4、修复“IP_转至10进制”,如果传入的不是IP格式会报数组越界; 5、修复“进程_枚举”,创建进程快照失败返回值应该为-1; 6、修复“系统_取网卡信息_彗星版”,没有断开上一次连接导致每次取出的信息不变;感谢【@leo2leo 】反馈问题; 7、修复“进程_ID取窗口句柄”,去掉取祖句柄部分,返回的句柄不一定是祖句柄,只要满足条件就返回; 8、修复“进制_十到二”,如果传入的值大于2147483647会崩溃的问题;感谢【@福仔 】提供; 9、修复“菜单_修改标题”,菜单ID改变导致菜单事件失效的问题; 10、修复“类_FTP - 文件下载”,解决总是得到缓存数据的问题;感谢【@萧阳天 】反馈建议; 11、修复“普通填表 - 文本框_取数量”,缺少email元素判断; 12、优化“进程_取程序路径”,部分PID取不到路径的问题; 三、优化 1、优化“时间_秒到时分秒格式”,增加参数自动补零,如果为真,不足2位数自动前面补0; 2、优化“图片_取像素RGB”,增加判断长度,避免越界; 3、优化“类_FTP”,部分方法增加区分大小写参数; 4、优化“外部树形框”,支持x64; 四、移除 点此查看其它版本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值