使用scp传输搜索文件的bash脚本

时间:2016-03-22 14:08:34

标签: linux bash

我根本没有太多关于bash的经验。当我没有使用find命令并直接从文件中scp时,下面的脚本工作。但是我正在尝试查找并传输一个附加了今天d / m / y的文件,并在找到它之后仅传输这个文件。

目前提供错误'找不到文件'也不确定如何在这种情况下使用变量,因为我是PHP编码器。谢谢

#!/usr/bin/expect -f

FILENAME = appendname_'.date +%d%m%Y;

spawn bash -c "scp 'find /www/reports/archives . -name 
$FILENAME.txt'    ftpdomain.com:/"

expect "password:"

send "pwaord\r"

expect "*\r"

expect "ok"

1 个答案:

答案 0 :(得分:1)

我建议您在服务器上使用ssh-keygeninstall the key,然后使用scp而不必通过expect提供密码。对于您的问题,您可以使用command substitution(bash支持$()和``),例如

spawn bash -c "scp $(find /www/reports/archives -name $FILENAME.txt)  
        ftpdomain.com:/"