我开发了一个包含FTP
调用的bash脚本。
因为我所做的操作是基于例程我在macro
内添加了.netrc
我的主目录中的文件。
这是我的宏
的一个小例子macdef getFile
lcd ../../test/
get test1.txt
quit
在这个宏中,我正在更改本地目录,并放置了我想要的文件。
我想要参数化的是文件的名称。因为我总是使用相同的操作,但使用该文件的不同名称。
在ftp连接中调用时,有没有办法将参数传递给宏?
之类的东西?
ftp>$ getFile anotherTestFile.txt
提前谢谢
答案 0 :(得分:1)
我只需要做同样的事情。通常我会安装ncftp或其他更有帮助的东西,但我不能,所以我要做的就是制作一个shell脚本来实现它:
1)正确设置你的.netrc以处理登录,目录更改等。不要让宏退出或类似的东西,只是让它到达你想要的文件去,然后宏停止。就像你做的那样,但我不是“退出”线。
2)使用以下内容制作shell脚本:
#!/bin/bash
if [[ -n "$1" ]]; then
echo "put $1" > ftpCmdTemp
ftp your.hostname.here < ftpCmdTemp
rm ftpCmdTemp
else
echo "need a filename"
fi
3)将其保存到路径中的某个位置,并使其可执行。我称它为“pushLog”,所以在我的例子中,“chmod + x pushLog”
4)现在我可以跑了
pushLog someLogFile.txt
并且它将转移我给它的任何东西(确保pushLog
在你的路径中以及所有这些。)