免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] 自动 FTP ,在循环中为什么出错? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-06 15:12 |只看该作者 |倒序浏览
#!/bin/ksh
a=1
sum=`wc -l hostlist | awk '{print $1}'`
sum=`echo $sum+1 | bc`
while [ "$a" -lt "$sum" ]
do
hostnames=`awk '{print $1}' hostlist | sed -n "$a"p`
hostpasswd=`awk '{print$2}' hostlist | sed -n "$a"p`
hostuser=`awk '{print $3}' hostlist | sed -n "$a"p`
ftp -n << !
open $hostnames
user $hostuser $hostpasswd
ascii
get check.log
bye
!
a=`echo $a+1 | bc`
done

这是从各位大侠 以前的贴子里找出来的,但是,没有 while 循环时可以正常执行,在 while 循环后出错:syntax error at line 10 : `<<' unmatched
    ftp -n << ! 在循环中不能用?为什么?

谢谢各位,麻烦答复!

论坛徽章:
0
2 [报告]
发表于 2004-02-06 15:44 |只看该作者

自动 FTP ,在循环中为什么出错?

用这种方式,可以了。

#!/bin/ksh
a=1
sum=`wc -l hostlist | awk '{print $1}'`
sum=`echo $sum+1 | bc`
while [ "$a" -lt "$sum" ]
do
hostnames=`awk '{print $1}' hostlist | sed -n "$a"p`
hostpasswd=`awk '{print$2}' hostlist | sed -n "$a"p`
hostuser=`awk '{print $3}' hostlist | sed -n "$a"p`
(
echo "user $hostuser $hostpasswd"
echo "bi"
echo "lcd tmp"
echo "get check.log"
echo "bye"
) | ftp -n $hostnames
a=`echo $a+1 | bc`
done

论坛徽章:
0
3 [报告]
发表于 2004-02-06 15:47 |只看该作者

自动 FTP ,在循环中为什么出错?

但是,在最初的 while 循环中,为什么 ftp -n << ! 出错?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP