임의의 소스에서 다음 코드를 터미널에 복사하고 실행했습니다.
while sleep 1;
do tput sc;
tput cup 0 $(($(tput cols)-29));
date;
tput rc;
done &
이 코드는 터미널의 오른쪽 상단에 실행 중인 시계를 표시합니다. 스니펫은 정말 잘 작동했고 정확히 내가 원하는 대로 작동했지만 이제 루프를 끝내고 시계를 없애고 싶습니다.
그리고 위의 코드를 이해해야 합니다. 명령이 무엇을 하는지 알기 때문에 몇 가지 아이디어가 있지만 tput
여전히 연결할 수 없는 점이 많습니다.
답변1
jobs
세션에서 명령을 실행하여 활성 백그라운드 작업을 나열한 다음 를 입력하여 포그라운드로 가져올 수 있습니다 fg <job number>
. 그런 다음 Ctrl+를 입력하여 C이 무한 루프를 중지합니다.
이 시나리오는 코드 조각을 실행하는 터미널에만 적용됩니다.
설명하다:
tput sc
- 커서 위치를 저장합니다.
tput cup 0 $(($(tput cols)-29))
- 커서를 0
Y축, (count of screen columns minus 29)
X축 위치로 이동합니다.
date
- 현재 날짜만 인쇄하세요.
tput rc
- 커서 위치를 복원합니다.
while sleep 1; ... do ... ; done
- 루프 지연 1초.
셸의 루프에 대해 자세히 help while
알아보려면 입력 하고 팔로우하세요.while
사람 1 tput또는tldp tput 문서tput이 어떻게 작동하는지 알아보세요.