Я хотел бы получить доступ к информации о прогрессе от lftp. В настоящее время я использую curl следующим образом:
curl http://example.com/file -o file -L 2> download.log
Это записывает информацию о прогрессе curl в файл download.log, который я могу отслеживать, чтобы получить прогресс в реальном времени.
Но тот же подход не работает с lftp, ни с stdout, ни с stderr. Я заканчиваю с пустым файлом download.log, пока передача не завершена.
lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
Когда я не перенаправляю вывод, я вижу прогресс на экране. Когда я делаю перенаправление вывода, я перестаю видеть прогресс на экране, но в download.log ничего не отображается. После завершения передачи файла я вижу конечный результат, как этот, но ничего раньше:
97618627 bytes transferred in 104 seconds (913.1K/s)
Делает ли lftp что-то необычное с выводом - печать на экран без печати на stdout / stderr? Есть ли другие способы захвата вывода экрана, кроме перенаправления stdout / stderr?