bash에서 카운터 표시 및 업데이트

다음과 같은 것 같습니다 : (Fedora14 / bash)

#!/bin/bash for i in {0..10..1}; do echo -e "$i""\c" echo -e "\n\r" sleep 1 done 

하지만 작동하지 않습니다. 목적 : 이와 같지만 “명확하지 않음”:

#!/bin/bash for i in {0..10..1}; do echo -e "$i" sleep 1 clear done 

따라서 전체 화면을 삭제하지 않고 +1 번호를 출력하는 계산 스크립트 계산이있는 줄만 삭제하므로 예 : a beatifull “progress bar”..

Answer

for i in {0..15}; do echo -ne "$i""\r"; sleep 1; done; echo 

기본값 인 stepwidth 1에는 ..1이 필요하지 않습니다.

echo -n 

개행을 방지합니다.

\r가 줄의 시작 부분으로 돌아가고 있습니다 (줄 바꿈 없음-\n). 이전에 사용했던 ” \ b “는 숫자가 두 개 이상인 경우 한 문자를 뒤로 물러서 게합니다. rozcietrzewiacz에게 감사드립니다.

답변

이와 같은 것을 찾고 계십니까?

for i in {1..10}; do printf "\r%2d" $i sleep 1 done printf "\n" 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다