2015-12-02 365 views
3

我想用一个脚本这样运行的lftp:环境变量

$ lftp -f deploy.scp

不过,我想使用L/P环境变量里面deploy.scp像这样:

open -u $FTP_USER,$FTP_PASSWORD $FTP_HOST;

这有可能以任何方式?我已经发现在手册中找到任何帮助。

+0

我还没有看到该男子页不到什么东西。如果无法完成,我不会感到惊讶。如果你不能/不想为此使用'-u'参数,那么你可以考虑在运行时修改文件和/或使用here文件'lftp -f - << EOF open -u $ FTP_USER, $ FTP_PASSWORD $ FTP_HOST; $(cat deploy.scp)EOF'或类似的东西。 –

回答

0

如果你把这个deploy.scp的最后一行(* bye命令后):

open -u $FTP_USER,$FTP_PASSWORD $FTP_HOST; 

那么你可以使用下面的命令:

lsftp -f deploy.scp `cat deploy.scp | tail -1` 
+1

感谢您的建议,但我无法使其工作。它不连接。 – Ole

0

你可以做

<deploy.scp xargs -l sh -c 'eval echo $0 $*' | lftp 

或者,为了节省一些打字的时间,别名,比如说

alias xv=$'xargs -l sh -c \'eval echo $0 $*\'' 

然后

xv <deploy.scp | lftp