2016-03-22 19 views
2

私はbashの経験があまりありませんでした。以下のスクリプトは、findコマンドを使用せず、ファイルから直接scpを実行したときに機能しました。しかし、私は、d/m/yを付け加えたファイルを見つけて転送し、見つけたらこのファイルだけを転送しようとしています。bashスクリプトでscpを使って検索したファイルを転送しました

現在のところ、私は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

何かのようなものを(bashは$()と ''サポートしています)を使用することができますか? – infiniteRefactor

答えて

1

私は、あなたがexpectを通じてパスワードを提供しなくてもscpを使用することができ、あなたのサーバー上でssh-keygeninstall the keyを使用することを推奨します。あなたの質問に、あなたはcommand substitution、あなたの単一引用符と間違っ

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

@ElliotFrischは、変数の代わりにtextfile.txtを使用しているだけなので、 '実行中にそのような変数がありません'というエラーを表示します。したがって、$() – GAV

関連する問題