免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 26441 | 回复: 25
打印 上一主题 下一主题

[文本处理] 请教ftp脚本:550 Delete operation failed 错误[结贴] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-23 15:07 |只看该作者 |倒序浏览
本帖最后由 sunshinelzy 于 2012-07-24 18:04 编辑

BK_DR=/mnt/hgfs/MyTools/FTP        #备份文件存放路径

echo "----------开始连接----------"
##连接ftp服务器,21为ftp端口##
ftp -pinevd 192.168.72.8 21 <<!
user root 123456
#prompt off

cd $BK_DR

pwd
passive auto
ls .
cd $BK_DR
mdelete aaa.tar

close
bye
!

环境为VM虚拟机7.1
红帽9.0 和 红帽6.0workstation
无论是在哪台上执行 都是报550的错误
如果是手打命令则正常无错误

再附上环境下载地址
红帽9 红帽9.0
红帽6 [红帽企业Linux.6.0.桌面版].rhel-workstation-6.0-i386-dvd.iso
求解答

附上调试信息
[root@localhost FTP]# sh *.sh
: command not found
: command not found
: command not found
: command not found
--------------------
Connected to 192.168.72.8 (192.168.72..
220 (vsFTPd 2.2.2)
---> SYST
530 Please login with USER and PASS.
---> USER root
331 Please specify the password.
---> PASS XXXX
230 Login successful.
?Invalid command
?Invalid command
---> CWD /mnt/hgfs/MyTools/FTP
250 Directory successfully changed.
?Invalid command
?Invalid command
Passive mode off.
---> PORT 192,168,72,8,204,218
200 PORT command successful. Consider using PASV.
---> LIST .
150 Here comes the directory listing.
-rwxrwxrwx    1 0        0               0 Jul 23 06:54 aaa.tar
-rwxrwxrwx    1 0        0             497 Jul 23 06:56 ftp.sh
226 Directory send OK.
---> CWD /mnt/hgfs/MyTools/FTP
250 Directory successfully changed.
---> PORT 192,168,72,8,138,54
---> NLST aaa.tar
---> DELE aaa.tar
550 Delete operation failed.
?Invalid command
?Invalid command
?Invalid command
---> QUIT
221 Goodbye.
: command not found

脚本为Vi编写 不存在^M符号

附上cat -A
  1. [root@localhost FTP]# cat -A ftp.sh
  2. #!/bin/bash -x^M$
  3. BK_DR=/mnt/hgfs/MyTools/FTP^M$
  4. ^M$
  5. ^M$
  6. ^M$
  7. username=root^M$
  8. password=123456^M$
  9. ^M$
  10. ftp -pinevd 192.168.72.8 21 <<!^M$
  11. user root 123456^M$
  12. #prompt off^M$
  13. cd $BK_DR^M$
  14. pwd^M$
  15. passive auto^M$
  16. ls .^M$
  17. cd $BK_DR^M$
  18. mdelete aaa.tar^M$
  19. close^M$
  20. bye^M$
  21. !^M$
  22. ^M$
复制代码
这里的^M用 %s/ctrl+v ctrl+m//g 无法识别到 因此我个人认为并不是windows下的那个^M符号
  1. [root@localhost FTP]# sh ftp.sh
  2. : command not found
  3. : command not found
  4. : command not found
  5. : command not found
  6. Connected to 192.168.72.8 (192.168.72.8).
  7. 220 (vsFTPd 2.2.2)
  8. ---> SYST
  9. 530 Please login with USER and PASS.
  10. ---> USER root
  11. 331 Please specify the password.
  12. ---> PASS XXXX
  13. 230 Login successful.
  14. ?Invalid command
  15. ---> CWD /mnt/hgfs/MyTools/FTP
  16. 250 Directory successfully changed.
  17. ?Invalid command
  18. Passive mode off.
  19. ---> PORT 192,168,72,8,222,112
  20. 200 PORT command successful. Consider using PASV.
  21. ---> LIST .
  22. 150 Here comes the directory listing.
  23. -rwxrwxrwx    1 0        0               0 Jul 23 06:54 aaa.tar
  24. -rwxrwxrwx    1 0        0             230 Jul 23 09:56 ftp.sh
  25. -rwxrwxrwx    1 0        0             208 Jul 23 12:48 n.sh
  26. 226 Directory send OK.
  27. ---> CWD /mnt/hgfs/MyTools/FTP
  28. 250 Directory successfully changed.
  29. ---> PORT 192,168,72,8,197,78
  30. ---> NLST aaa.tar
  31. ---> DELE aaa.tar
  32. 550 Delete operation failed.
  33. ?Invalid command
  34. ?Invalid command
  35. ---> QUIT
  36. 221 Goodbye.
  37. : command not found
复制代码
再说明下 如果认为^M$是这个问题
我可以肯定不是 2份代码都附上执行过程了 并不解决问题
我用cat -A ftp.sh > n.sh
重新生成 再把所有的都去掉了
依然还有问题
  1. [root@localhost FTP]# cat -A n.sh
  2. #!/bin/bash -x$
  3. BK_DR=/mnt/hgfs/MyTools/FTP$
  4. $
  5. $
  6. username=root$
  7. password=123456$
  8. $
  9. ftp -pinevd 192.168.72.8 21 <<!$
  10. user root 123456$
  11. #prompt off$
  12. cd $BK_DR$
  13. pwd$
  14. passive auto$
  15. ls .$
  16. cd $BK_DR$
  17. mdelete aaa.tar$
  18. close$
  19. bye$
  20. !$
  21. $
复制代码
附上执行过程
  1. [root@localhost FTP]# bash -vx n.sh
  2. #!/bin/bash -x
  3. BK_DR=/mnt/hgfs/MyTools/FTP
  4. + BK_DR=/mnt/hgfs/MyTools/FTP


  5. username=root
  6. + username=root
  7. password=123456
  8. + password=123456

  9. ftp -pinevd 192.168.72.8 21 <<!
  10. user root 123456
  11. #prompt off
  12. cd $BK_DR
  13. pwd
  14. passive auto
  15. ls .
  16. cd $BK_DR
  17. mdelete aaa.tar
  18. close
  19. bye
  20. !
  21. + ftp -pinevd 192.168.72.8 21
  22. Connected to 192.168.72.8 (192.168.72.8).
  23. 220 (vsFTPd 2.2.2)
  24. ---> SYST
  25. 530 Please login with USER and PASS.
  26. ---> USER root
  27. 331 Please specify the password.
  28. ---> PASS XXXX
  29. 230 Login successful.
  30. ?Invalid command
  31. ---> CWD /mnt/hgfs/MyTools/FTP
  32. 250 Directory successfully changed.
  33. ---> PWD
  34. 257 "/mnt/hgfs/MyTools/FTP"
  35. Passive mode off.
  36. ---> PORT 192,168,72,8,238,14
  37. 200 PORT command successful. Consider using PASV.
  38. ---> LIST .
  39. 150 Here comes the directory listing.
  40. -rwxrwxrwx    1 0        0               0 Jul 23 06:54 aaa.tar
  41. -rwxrwxrwx    1 0        0             230 Jul 23 09:56 ftp.sh
  42. -rwxrwxrwx    1 0        0             208 Jul 23 12:48 n.sh
  43. 226 Directory send OK.
  44. ---> CWD /mnt/hgfs/MyTools/FTP
  45. 250 Directory successfully changed.
  46. ---> PORT 192,168,72,8,135,122
  47. ---> NLST aaa.tar
  48. ---> DELE aaa.tar
  49. 550 Delete operation failed.
  50. ---> QUIT
  51. 221 Goodbye.
复制代码

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2012-07-23 15:25 |只看该作者
file *.sh
cat -A *.sh
dos2unix *.sh

论坛徽章:
0
3 [报告]
发表于 2012-07-23 15:32 |只看该作者
本帖最后由 sunshinelzy 于 2012-07-25 21:29 编辑

clear 清除无用回复

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
4 [报告]
发表于 2012-07-23 17:05 来自手机 |只看该作者
本帖最后由 惟吾无为 于 2012-07-23 17:06 编辑

不知上面那些命令的作用就别在Windows下写脚本

论坛徽章:
0
5 [报告]
发表于 2012-07-23 17:50 |只看该作者
本帖最后由 sunshinelzy 于 2012-07-25 21:29 编辑

clear 清除无用回复

论坛徽章:
0
6 [报告]
发表于 2012-07-23 17:54 |只看该作者
本帖最后由 sunshinelzy 于 2012-07-25 21:30 编辑

clear 清除无用回复

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
7 [报告]
发表于 2012-07-23 18:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2012-07-23 19:22 |只看该作者
本帖最后由 sunshinelzy 于 2012-07-25 21:30 编辑

clear 清除无用回复

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2012-07-23 20:18 |只看该作者
  1. bash -vx test.sh
复制代码
执行过程贴出来看看

论坛徽章:
0
10 [报告]
发表于 2012-07-23 20:22 |只看该作者
本帖最后由 sunshinelzy 于 2012-07-23 20:23 编辑

附上执行过程
  1. [root@localhost FTP]# bash -vx *.sh
  2. #!/bin/bash -x
  3. BK_DR=/mnt/hgfs/MyTools/FTP
  4. + BK_DR=/mnt/hgfs/MyTools/FTP\r'

  5. + \r'
  6. : command not found

  7. + \r'
  8. : command not found

  9. + \r'
  10. : command not found
  11. username=root
  12. + username=root\r'
  13. password=123456
  14. + password=123456\r'

  15. + \r'
  16. : command not found
  17. ftp -pinevd 192.168.72.8 21 <<!
  18. user root 123456
  19. #prompt off
  20. cd $BK_DR
  21. pwd
  22. passive auto
  23. ls .
  24. cd $BK_DR
  25. mdelete aaa.tar
  26. close
  27. bye
  28. !
  29. + ftp -pinevd 192.168.72.8 21
  30. Connected to 192.168.72.8 (192.168.72.8).
  31. 220 (vsFTPd 2.2.2)
  32. ---> SYST
  33. 530 Please login with USER and PASS.
  34. ---> USER root
  35. 331 Please specify the password.
  36. ---> PASS XXXX
  37. 230 Login successful.
  38. ?Invalid command
  39. ---> CWD /mnt/hgfs/MyTools/FTP
  40. 250 Directory successfully changed.
  41. ?Invalid command
  42. Passive mode off.
  43. ---> PORT 192,168,72,8,208,217
  44. 200 PORT command successful. Consider using PASV.
  45. ---> LIST .
  46. 150 Here comes the directory listing.
  47. -rwxrwxrwx    1 0        0               0 Jul 23 06:54 aaa.tar
  48. -rwxrwxrwx    1 0        0             230 Jul 23 09:56 ftp.sh
  49. 226 Directory send OK.
  50. ---> CWD /mnt/hgfs/MyTools/FTP
  51. 250 Directory successfully changed.
  52. ---> PORT 192,168,72,8,202,83
  53. ---> NLST aaa.tar
  54. ---> DELE aaa.tar
  55. 550 Delete operation failed.
  56. ?Invalid command
  57. ?Invalid command
  58. ---> QUIT
  59. 221 Goodbye.

  60. + \r'
  61. : command not found
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP