免费注册 查看新帖 |

Chinaunix

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

初学SHell,执行不了,帮忙看看什么原回 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-08 17:36 |只看该作者 |倒序浏览
  1. #!/bin/bash
  2. USER=yf
  3. PASSWORD=zzzzzz
  4. HOST=192.168.11.58
  5. PORT=21
  6. LOCPATH=/home/yf/log
  7. REMPATH=/tmp/rem
  8. ftp -v $HOST
  9. user $USER $PASSWORD
  10. binary
  11. cd $LOCPATH
  12. lcd $REMPATH
  13. prompt
  14. while true; do
  15. CURDATE=`date +%Y%m%d`
  16. LOCFILE="$LOCPATH"/"$CURDATE"M.txt
  17. REMFILE="$REMPATH"/"$CURDATE"M.txt
  18. reget $REMFILE $LOCFILE
  19. sleep 5;
  20. done
  21. close
  22. bye
复制代码


用户名密码不能输入,还有以下提示
./ftpc.sh: line 11: binary: command not found
./ftpc.sh: line 13: lcd: command not found
./ftpc.sh: line 14: prompt: command not found
./ftpc.sh: line 20: reget: command not found

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
2 [报告]
发表于 2009-02-08 17:50 |只看该作者
是想使用here document吗

论坛徽章:
0
3 [报告]
发表于 2009-02-08 17:51 |只看该作者
没有进入ftp模式
ftp -n << !
open  $HOST
user $USER $PASSWORD
binary
cd $LOCPATH
lcd $REMPATH
prompt
while true; do
CURDATE=`date +%Y%m%d`
LOCFILE="$LOCPATH"/"$CURDATE"M.txt
REMFILE="$REMPATH"/"$CURDATE"M.txt
reget $REMFILE $LOCFILE
sleep 5;
done
close
bye
!

论坛徽章:
0
4 [报告]
发表于 2009-02-08 17:52 |只看该作者
binary  lcd 这些都是ftp的命令 你放到shell里面当然执行不了啦

ftp -v $HOST << EOF

user $USER $PASSWORD
binary
cd $LOCPATH
lcd $REMPATH
prompt

EOF

论坛徽章:
0
5 [报告]
发表于 2009-02-08 18:57 |只看该作者
怎么能得到每个命令的返回结果,根据返回结果再进行一下步处理?

论坛徽章:
0
6 [报告]
发表于 2009-02-08 19:17 |只看该作者
改了一下还不行
Connected to 192.168.83.58.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
331 Please specify the password.
230 Login successful.
200 Switching to Binary mode.
250 Directory successfully changed.
Local directory now /tmp/rem
Interactive mode off.
?Invalid command
?Invalid command
?Invalid command
?Invalid command
local: 5;: No such file or directory
(remote-file) ?Invalid command
221 Goodbye.

论坛徽章:
0
7 [报告]
发表于 2009-02-09 09:12 |只看该作者

回复 #1 nicksean 的帖子

#!/bin/bash
USER=yf
PASSWORD=zzzzzz
HOST=192.168.11.58
PORT=21
LOCPATH=/home/yf/log
REMPATH=/tmp/rem
CURDATE=`date +%Y%m%d`
LOCFILE="$LOCPATH"/"$CURDATE"M.txt
REMFILE="$REMPATH"/"$CURDATE"M.txt

ftp -v $HOST <<EOF
user $USER $PASSWORD
binary
cd $LOCPATH
lcd $REMPATH
prompt
while $?;
do
reget $REMFILE $LOCFILE
sleep 5;
done
close
bye
EOF

论坛徽章:
0
8 [报告]
发表于 2009-02-09 12:05 |只看该作者

回复 #7 fttskyblue 的帖子

ftp中还能直接执行while语句?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP