使用带有sFTP的变量

时间:2011-12-20 08:24:35

标签: ftp

我在浏览时看到了类似的线程,但没有真正得到解决方案。有人可以向我解释是否有可能(以及如何这样做)让我使用FTP中脚本的变量。

假设我有一个包含$ymd$pkp等变量的脚本,这些变量是先前定义的,这些变量用于创建特定的文件名(ymd =特定格式的年月日期, pkp =包装地点)。如何在FTP模式下使用这些变量?

E.g。 $ ymd = 20111220 $ pkp = HM2 因此,filename = 20111220HM2.data

我想做的是这样的事情: -

FTP

打开10.123.456.78

把$ pkp $ ymd.data

再见

感谢您的帮助!

工作脚本:

HOST = '10 .123.456.78'

USER = 'ABCD'

PASSWORD = 'EFGH'

FILE1 = '' “$ PKP” '' “$ YMD” '数据'

ftp -nvu<< END_OF_SCRIPT

打开$ HOST

引用USER $ USER

引用PASS $ PASS

把$ FILE1

再见

END_OF_SCRIPT

3 个答案:

答案 0 :(得分:1)

你也没有指定你正在使用哪种语言,但基本上你可以用bash创建一个脚本,如下所示:

export ymd=20111220
export pkp=HM2
echo "put $pkp$ymd.data" > /tmp/ftp.tmp
echo "bye" >> /tmp/ftp.tmp

然后使用文件/tmp/ftp.tmp作为FTP会话的输入。

答案 1 :(得分:0)

答案 2 :(得分:0)

我会为这种情况建议一个Bash脚本。例如:

#!/bin/bash
## Set variables here, or take them as arguments for your script
CURDATE=`date +%Y%m%d`
TAG="HM2"

## Actual action
ftp example.com
put $CURDATE$TAG.data
bye

这样的事情应该可以解决问题。