Tôi muốn có quyền truy cập vào thông tin tiến bộ từ lftp. Hiện tại, tôi đang sử dụng curl như vậy:
curl http://example.com/file -o file -L 2> download.log
Điều này ghi thông tin tiến trình của curl vào tệp download.log, mà tôi có thể theo dõi để có được tiến trình thời gian thực.
Nhưng cách tiếp cận tương tự không hoạt động với lftp, với stdout hoặc stderr. Tôi kết thúc với một tệp download.log trống, cho đến khi quá trình chuyển hoàn tất.
lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
Khi tôi không chuyển hướng đầu ra, tôi thấy tiến trình trên màn hình. Khi tôi thực hiện chuyển hướng đầu ra, tôi dừng xem tiến trình trên màn hình, nhưng không có gì hiển thị trong download.log. Sau khi quá trình truyền tệp hoàn tất, tôi thấy kết quả cuối cùng, như thế này - nhưng không có gì trước đó:
97618627 bytes transferred in 104 seconds (913.1K/s)
Có phải lftp đang làm điều gì đó bất thường với đầu ra của nó - in ra màn hình mà không in ra thiết bị xuất chuẩn / stderr? Có cách nào khác để chụp đầu ra màn hình hơn là chuyển hướng stdout / stderr không?