我根本没有太多的bash经验。 下面的脚本在我没有使用find命令的时候工作,直接从文件中findscp。 但是我试图find并转移一个附有今天d / m / y的文件,并在find它之后才转移这个文件。
目前给出的错误“文件未find”也不知道如何在这种情况下使用variables,因为我是一个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"
我建议你使用ssh-keygen
并在你的服务器上安装密钥 ,然后你可以使用scp
而不需要通过expect
来提供密码。 对于你的问题,你可以使用命令替换 (bash支持$()
和“),类似
spawn bash -c "scp $(find /www/reports/archives -name $FILENAME.txt) ftpdomain.com:/"