我写的一个Linux下完成ftp命令的脚本,大家帮忙看看哪里不对?

hupo1982 2008-04-17 06:36:34
在RH9.0 Linux下:
-----------------------
#! /bin/bash
lftp <<!
open 200.1.1.117
user user passward
dir
mirror source
mirror include
bye
---------------------
这样是没有问题的,但是如果我在外面加上一个if判断:
---------------------------------

#! /bin/bash
if [ "$#" = 0 ]
then
lftp <<!
open 200.1.1.117
user user passward
dir
mirror source
mirror include
bye
fi
----------------------------------
运行的时候就会出现错误提示:
line 12: syntax error: unexpected end of file

不知哪位高人写过类似的脚本,帮忙看一下,谢谢!


...全文
224 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hupo1982 2008-04-18
  • 打赏
  • 举报
回复
谢谢指点
hzcpig 2008-04-18
  • 打赏
  • 举报
回复
你这种脚本就是要解决自动化交互的问题,也可以用expect来实现
类似这样
[code=BatchFile]#!/usr/bin/expect
spawn su root
expect "password: "
send "123456\r"
expect eof
exit[/code]
痞子酷 2008-04-18
  • 打赏
  • 举报
回复
if [ "$#" = 0 ]
then
lftp < <!
open 200.1.1.117
user user passward
dir
mirror source
mirror include
bye
!
fi
hupo1982 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hzcpig 的回复:]
lftp < <! 的意思就是以!结尾
所以你在bye后面要加个!

....
bye
!
fi
[/Quote]
谢谢你,现在问题解决了。我还想问一下是不是在脚本中调用类似的这些ftp,telnet等命令都要这么写呢?
shang12 2008-04-18
  • 打赏
  • 举报
回复
期待
hzcpig 2008-04-18
  • 打赏
  • 举报
回复
lftp < <! 的意思就是以!结尾
所以你在bye后面要加个!

....
bye
!
fi
hupo1982 2008-04-18
  • 打赏
  • 举报
回复
不行,似乎不是if格式的问题,如果if里面没有ftp命令的话也没有问题
dxing_1983 2008-04-17
  • 打赏
  • 举报
回复
if [ "$#" == 0 ]
ljc007 2008-04-17
  • 打赏
  • 举报
回复
把$#两边的双引号去掉行吗?

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧