Linux 使用scp传输搜索到的文件的bash脚本
我对bash一点经验都没有。当我没有使用find命令,只是直接从文件中执行scp时,下面的脚本就工作了。但是我试图找到并传输一个今天附加了d/m/y的文件,并且在找到它之后只传输这个文件 目前给出了错误“未找到文件”,也不确定在这种情况下如何使用变量,因为我是一名PHP程序员。谢谢Linux 使用scp传输搜索到的文件的bash脚本,linux,bash,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
#!/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"
我建议您在服务器上使用和,然后您可以使用scp
,而无需通过expect
提供密码。对于您的问题,您可以使用(bash支持$()
和``),例如
spawn bash -c "scp $(find /www/reports/archives -name $FILENAME.txt)
ftpdomain.com:/"
你的单引号有问题吗?@ElliotFrisch给我一个错误“执行时没有这样的变量”,即使我只是使用textfile.txt而不是变量,所以不喜欢$()