2011-06-24 96 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'命令。 :) – sarnold

+0

這工作,現在我只需要等待幾分鐘就可以接受。 – Kelbizzle

0

你已經寫了一個shell腳本。每行都在shell中作爲新命令執行。當您點擊^D關閉lftp時,它會嘗試運行mirror命令。 (它甚至可能存在於您的系統上。)

如果要以這種方式向程序發送命令,請查看expect(1)工具。甚至還有一種學習模式(這比我手寫的expect腳本給了我更好的成功)。

但是也許你的lftp(1)命令可以用命令行參數來處理呢?那會更可靠。

+0

預期工具也會有效。因爲出來這個系統是使用cygwin的窗口。 – Kelbizzle