J'aimerais avoir accès aux informations de progression de lftp. Actuellement, j'utilise curl comme ceci:
curl http://example.com/file -o file -L 2> download.log
Cela écrit les informations de progression de curl dans le fichier download.log, que je peux suivre pour obtenir une progression en temps réel.
Mais la même approche ne fonctionne pas avec lftp, que ce soit avec stdout ou stderr. Je me retrouve avec un fichier download.log vide, jusqu'à ce que le transfert soit terminé.
lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
Lorsque je ne redirige pas la sortie, je vois des progrès à l'écran. Lorsque je redirige la sortie, j'arrête de voir la progression à l'écran, mais rien n'apparaît dans download.log. Une fois le transfert de fichiers terminé, je vois le résultat final, comme ceci - mais rien avant:
97618627 bytes transferred in 104 seconds (913.1K/s)
Est-ce que lftp fait quelque chose d'inhabituel avec sa sortie - imprimer sur écran sans imprimer sur stdout / stderr? Existe-t-il d'autres moyens de capturer la sortie d'écran que de rediriger stdout / stderr?