Bash에서 진행률 표시줄을 만드는 다양한 예
Bash에서 진행률 표시줄을 구현하는 다양한 방법은 튜토리얼의 이 부분에 나와 있습니다.
예제 1: 명령 없이 간단한 진행률 표시줄 구현
'#' 문자와 'sleep' 명령을 사용하여 진행률 표시줄을 표시하는 다음 스크립트로 Bash 파일을 만듭니다. 여기서는 'printf' 명령을 사용하여 진행률 표시줄을 표시합니다. 진행률 표시줄은 네 부분으로 나뉩니다. 25%는 1초 후에 표시됩니다. 50%는 3초 후에 표시됩니다. 75%는 2초 후에 표시됩니다. 1초 후에 100%가 표시됩니다.
#!/빈/배시
printf ' \N 작업이 완료될 때까지 기다리십시오... \N \N '
#1초만기다려
잠 1
# 진행률 표시줄의 첫 번째 부분을 인쇄합니다.
printf '[##### ] 25%% 완료. \아르 자형 '
#3초만 기다리세요
잠 삼
#진행률 표시줄의 두 번째 부분을 인쇄합니다.
printf '[########## ] 50%% 완료되었습니다. \아르 자형 '
#2초만 기다리세요
잠 2
#진행률 표시줄의 세 번째 부분을 인쇄합니다.
printf '[############### ] 75%% 완료. \아르 자형 '
#1초만기다려
잠 1
#프로그래스 바의 마지막을 출력
printf '[####################] 100% 완료되었습니다. \아르 자형 '
printf ' \N \N 작업이 완료되었습니다. \N \N '
.
스크립트 실행 후 1초 후에 다음 출력이 나타납니다.
스크립트 실행 후 7초 후에 다음 출력이 나타납니다.
예제 2: 'Pv' 명령을 사용하여 진행률 표시줄 구현
'pv' 명령의 전체 형식은 '파이프 뷰어'입니다. 파이프를 통과하는 데이터의 진행 상황을 모니터링하고 데이터 크기에 따라 진행률 표시 줄을 표시하는 데 사용됩니다. 이 명령은 시스템에 기본적으로 설치되지 않습니다. 이 예제의 스크립트를 실행하기 전에 다음 명령을 실행하여 'pv' 명령을 설치합니다.
$ 스도 적절한 설치하다 태양광한 위치에서 다른 위치로 복사되는 큰 크기의 파일을 선택해야 합니다. 현재 위치에서 '/home/fahmida/temp/' 위치로 'test.txt' 파일을 복사하는 다음 스크립트로 Bash 파일을 만듭니다. 여기서 'pv' 명령은 진행률 표시줄을 표시하는 데 사용됩니다. 'test.txt' 파일의 크기에 따라 진행률 표시줄이 표시됩니다.
#!/빈/배시에코 '한 위치에서 다른 위치로 파일을 복사하는 중입니다.'
#2초만 기다리세요
잠 2
# 파일을 목적지에 복사
고양이 test.txt | 태양광 -에스 $ ( 통계 -씨 % 테스트.txt ) > / 집 / 이해 / 온도 / test.txt
에코 '파일이 복사되었습니다.'
스크립트 실행을 완료하면 다음 출력이 표시됩니다.
예제 3: 'Dialog' 명령을 사용하여 진행률 표시줄 구현
Bash에서 진행률 표시줄을 구현하는 또 다른 방법은 'dialog' 명령을 사용하는 것입니다. 이 명령은 터미널에 잘 보이는 진행 표시줄을 표시하는 데 사용할 수 있습니다. 이 진행률 표시줄을 사용하여 다양한 유형의 위젯을 표시할 수 있습니다. 이 명령으로 표시되는 진행률 표시줄의 작업은 Bash 스크립트로 제어할 수 있습니다. 이 진행률 표시줄은 기본적으로 시스템에 설치되지 않습니다. 다음 명령을 실행하여 시스템에 이 진행률 표시줄을 설치합니다.
$ 스도 적절한 설치하다 대화'dialog' 명령을 사용하여 진행률 표시줄을 표시하는 다음 스크립트로 Bash 파일을 만듭니다. '/etc/passwd' 파일을 '/home/fahmida/tempdir' 위치로 복사하는 작업은 진행률 표시줄을 사용하여 표시됩니다. 진행률 표시줄은 다섯 부분으로 나뉩니다. 각 부분은 2초 후에 표시됩니다. –title 옵션은 'dialog' 명령에서 진행률 표시줄의 제목을 표시하는 데 사용됩니다. –gauge 옵션은 'dialog' 명령에서 높이 10줄과 너비 100자의 진행률 표시줄을 표시하는 데 사용됩니다. 진행률 표시줄 위에 '작업 완료 대기 중' 메시지가 표시됩니다.
#!/빈/배시# 카운터 초기화
current_pos = 0
(
#무한 루프 정의
~을 위한 ( ( ;; ) )
하다
고양이 <
구분 기호
$current_pos
# 현재 카운터 값 표시
cp /etc/passwd to /home/fahmida/tempdir ($current_pos%):
구분 기호
EOF
#카운터를 20씩 증가
( ( current_pos+= 이십 ) )
#카운터 값이 100 이상이면 루프에서 종료
[ $current_pos -gt 100 ] && 부서지다
#각 증분 후 2초 대기
잠 2
완료
) | 대화 --제목 '파일 복사 중...' --계량기 '작업 완료 대기 중' 10 100 0
스크립트 실행 후 10초 후에 다음 출력이 나타납니다.
결론
Bash 사용자가 프로그램에서 진행률 표시줄을 사용하는 데 도움이 되도록 Bash 스크립트를 사용하여 진행률 표시줄을 개발하는 다양한 방법이 이 자습서에 나와 있습니다.