一部のreasomでは、最後の行を取得できません。私はlftpの[email protected]:〜>プロンプトに私を残す。何かアドバイス?はbashスクリプトでmirrorコマンドを実行できません
#!/bin/bash
echo "This will sync the background_docs folder"
lftp ftp://user:[email protected]
mirror -r background_docs --only-missing -e
一部のreasomでは、最後の行を取得できません。私はlftpの[email protected]:〜>プロンプトに私を残す。何かアドバイス?はbashスクリプトでmirrorコマンドを実行できません
#!/bin/bash
echo "This will sync the background_docs folder"
lftp ftp://user:[email protected]
mirror -r background_docs --only-missing -e
私は、あなたがその最後の行を実行するための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]
あなたは、シェルスクリプトを書きました。すべての行はシェルで新しいコマンドとして実行されます。 ^Dを閉じるとlftp
を閉じると、mirror
コマンドが実行されます。 (システムにも存在する可能性があります)
このようにプログラムにコマンドを送信する場合は、expect(1)
ツールをご覧ください。利用可能な学習モードもあります(手書きのexpect
スクリプトよりも優れた成功を収めています)。
しかし、あなたのlftp(1)
コマンドは、代わりにコマンドラインパラメータで処理できますか?それはより信頼できるでしょう。
Expectツールも機能しました。このシステムは、cygwinを使用するウィンドウです。 – Kelbizzle
+1実際に動作する 'lftp'コマンドを与えるために+1してください。 :) – sarnold
これはうまくいきました。今は受け入れるのに数分待たなければなりません。 – Kelbizzle