shell中的mput_Linux Ftp mput 命令示例

本文介绍了一种在Linux环境下通过shell脚本进行FTP文件传输时遇到的550错误及其解决方案。错误源于脚本中指定的路径不正确,通过调整脚本中的路径指令解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Linux 下写了一个脚本

#!/bin/sh

#cd

ftp -n -i 192.168.0.1 <

user username userpassword

passive

cd /jbpm

prompt

prompt

mput /var/lib/mysql/jbpm/*.* jbpm2010

quit

EOF

exit

结果FileZilla报550错.

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/qdcm_pow_items.frm

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> PORT 192,168,0,1,36,148

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 200 Port command successful

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/qdcm_pow_sh.frm

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> PORT 192,168,0,1,36,149

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 200 Port command successful

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/qdcm_tool_note.frm

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> PORT 192,168,0,1,36,150

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 200 Port command successful

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> STOR /var/lib/mysql/jbpm/test.frm

(000026) 2010-11-15 10:48:12 - dai (10.130.129.11)> 550 Filename invalid

尝试了好多把后,在网上搜了N吧,可能原因是路径/var/lib/mysql/jbpm/*.*,在脚本前加入 cd /var/lib/mysql/jbpm/,然后再mput *.* 就不报错了。原来FileZilla默认将/var/lib/mysql/jbpm/作为保存路径,在FTP服务器上自然就找不到这个路径。修改后就不报

错了。

在Linux代码中使用prompt的目的是将Interactive mode 设置成off,这样的话在传文件时就不会有询问yes/no对话框。

每次使用

prompt时,Interactive mode的状态就会改变,prompt on 或 off命令不起作用,并不能达到预期效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值