내가 읽고이것질문과 답변이 있지만 내 질문에 답변하지 않았습니다.
쉘 스크립트는 다음과 같습니다.
let total=$(lftp -f lftp-script-count.txt | wc -l)-2
lftp -f lftp-script.txt |
while read word word2 filename
do
if [ "$word" = Transferring ]
then let count=count+1
let percent=count*100/total
echo -e "XXX\n$percent\nDownloading $filename\nXXX"
fi
done |
whiptail --title lftp --gauge progress 10 60 0
이것lftp-스크립-카운트.txtlftp 스크립트는 정상적으로 실행됩니다.
debug 10
set ssl:verify-certificate no
open ...
user ... ...
cd ...
ls -R .
이것lftp-스크립-카운트.txtlftp 스크립트는 느리게 실행되며(더 빠르게 실행되기를 바라더라도 확실히 작동합니다) 진행 상황이 최종 단계에 도달하지 않습니다.
set ssl:verify-certificate no
open ...
user ...
cd ...
mirror -P=10 . lftp-works --exclude-glob=node_modules
quit
결과적으로 진행률 표시줄이 표시되지만 전체 251MB를 다운로드하더라도 끝까지 0%로 유지됩니다. 터미널 창의 크기를 조정하면 화면이 다시 그려지지 않습니다.
다운로드가 끝나면 진행률 표시줄 창이 보기 좋게 사라집니다.
내 생각에는 단순함이 보여주는 트렌드는 lftp -f lftp-script.txt
글로벌한 것이 아니다. 백분율 외에도 이 명령의 출력에는 다음이 포함됩니다.
- 응답을 기다리는 중...
- 데이터/TLS 수신
- 데이터 연결 설정 중...
- 데이터 수신 중...
예:
내 질문은 다음과 같습니다진행률 표시줄에 진행 상황이 잘 표시되도록 하려면 어떻게 해야 합니까?
진행 상황을 표시하고 위에 표시된 lftp 스크립트와 같이 내 요구 사항에 맞는 또 다른 CLI FTP 클라이언트가 있습니까?
감사해요.
업데이트 1
아직 2가지 문제가 남아 있습니다.
- .
--only-newer
- (1)을 염두에 두고,
--only-newer
디렉토리가 완전히 다운로드되면, 그것을 사용하는 것과 사용하지 않는 것의 속도가 왜 같은지 알아내는 것이 흥미로울 것입니다. 이 프로세스를 더 빠르게 만들 수 있다면 좋을 것 같습니다.