2011-06-24 28 views

答えて

5

私は、あなたがその最後の行を実行するためのlftpのを望ん

mirror -r background_docs --only-missing -e 

権利を推測していますか?

もしそうなら、そのように指示する必要があります。書かれているように、スクリプトは単にlftpを起動し、終了するのを待ってから、最後の行を実行しようとします。あなたはおそらく代わりに欲しい

のような、lftp年代-e cmdオプションを使用することです:

#!/bin/bash 
echo "This will sync the background_docs folder" 
lftp -e "mirror -r background_docs --only-missing -e" ftp://user:[email protected] 
+0

+1実際に動作する 'lftp'コマンドを与えるために+1してください。 :) – sarnold

+0

これはうまくいきました。今は受け入れるのに数分待たなければなりません。 – Kelbizzle

0

あなたは、シェルスクリプトを書きました。すべての行はシェルで新しいコマンドとして実行されます。 ^Dを閉じるとlftpを閉じると、mirrorコマンドが実行されます。 (システムにも存在する可能性があります)

このようにプログラムにコマンドを送信する場合は、expect(1)ツールをご覧ください。利用可能な学習モードもあります(手書きのexpectスクリプトよりも優れた成功を収めています)。

しかし、あなたのlftp(1)コマンドは、代わりにコマンドラインパラメータで処理できますか?それはより信頼できるでしょう。

+0

Expectツールも機能しました。このシステムは、cygwinを使用するウィンドウです。 – Kelbizzle

関連する問題