LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1442|回复: 5

高难度的ftp命令行执行问题

[复制链接]
发表于 2008-6-3 09:37:25 | 显示全部楼层 |阅读模式
用ftp等命令,可以直接上傳嗎,不要進入ftp 的shell去打命令噢

因為我在腳本中用,记得lftp 可以用下面的命令实现.但ftp好像不成功
lftp -e "cd pub;put io.sh ; exit" 10.2.1.205


我知道可以用<<_cmd这样的方式实现,但是这样没办法得到返回值,比如我在ftp里面执行cd /backup/a
但这个目录根本不存在,退出ftp命令后,返回值却是0,这不是我想要的值
发表于 2008-6-12 07:43:18 | 显示全部楼层
用expect吧
回复 支持 反对

使用道具 举报

发表于 2008-6-17 14:51:06 | 显示全部楼层
肯定可以在脚本中上传文件,似乎我见过这类程序。另外,ncftp中有一个上传的命令,如果必须使用ftp的话,就不清楚了。
回复 支持 反对

使用道具 举报

发表于 2008-6-24 01:47:23 | 显示全部楼层
perldoc Net::FTP
回复 支持 反对

使用道具 举报

发表于 2008-6-30 15:19:23 | 显示全部楼层
用expect可以实现:
spwan -noecho ftp
expect "ftp>"
send "o host\r"
expect ../
send....
回复 支持 反对

使用道具 举报

发表于 2008-6-30 20:03:28 | 显示全部楼层
echo -e "command\n" | lftp address應该可以得到回傳

之前写用來下載ftp的script
#!/bin/bash
address="$1"
code="$2"
command="$3"
$?=error
until [ $? = 0 ];do sleep 60 && echo -e "set net:reconnect-interval-base 60\n""set net:reconnect-interval-max 180\n""set ftp:charset ""$code""\n""$command""\n" | lftp "$address";done
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表