LinuxSir.cn,穿越时空的Linuxsir!

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

关于 netrc 的 macdef 的问题

[复制链接]
发表于 2007-1-27 13:06:45 | 显示全部楼层 |阅读模式
问题或许不适合提在这里,不过这里比较熟,再加上对版主kissingwolf的技术和热心的倾慕,所以就这里了。

问题是这样。我写了一个 .netrc 文件,用户权限 0600, 全文如下
-------------------------------------------------------------------------------------------
machine FTPSERVER_NAME login LOGINNAME password PASSWORD
default   login anonymous password MY_EMAIL_ADDRESS
macdef binls
cd /
ls
bin

macdef downfiles
cd /home/MY_HOME_DIR/src/
mget FILEPAT1 FILEPAT2


-------------------------------------------------------------------------------------------

现在的问题是,我在fc6的机器上运行ftp命令,连RHEL4的vsftpd的FTP。建连接,验证什么的一切正常,但是运行
$ downfiles
命令的时候,系统却提示
-------------------------------------------------------------------------------------------
'downfiles' macro not found
-------------------------------------------------------------------------------------------
我手工用 macdef 命令定义的macro, 可以正常使用,但是放在 .netrc 里面的却不正常。

此外,还有一个绝的。同样这个配置,连接MS IIS 的 ftp server 什么问题都没有。连接,验证,执行 macro,一切正常。

现在请诸位帮我看看,这里预先谢谢了。

btw:
对不起诸位,写第一个帖子的时候无意按了一下ENTER,结果就发表了。当时贪图方便,没有继续编辑,所以就有了两个同样的帖子。想回帖的朋友,可以随便回哪个。我这里同样表示感谢。如果版主觉得不合适,可以帮忙删一个。谢谢。
 楼主| 发表于 2007-2-1 07:56:48 | 显示全部楼层
问题解决了。这里向大家报告。

.netrc里面的macro使不能通用的。一个macro只能属于一个连接。按照上述这个文件,这两个macro都是属于 default login那行的,而我的IIS ftp server正好是anonymous的。因此就造成了ftp server能认 macro, 而 vsftpd 不能认的情况。

此外,.netrc文件的行结束符必须是\n。如果你是在win下面编辑的,千万用dos2unix作一个转换,否则 ftp server 还是不认。
回复 支持 反对

使用道具 举报

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

本版积分规则

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