아래 이미지처럼 Linux 콘솔에서 컬러 텍스트를 오버레이할 수 있나요? [폐쇄]

아래 이미지처럼 Linux 콘솔에서 컬러 텍스트를 오버레이할 수 있나요? [폐쇄]

나는 다양한 요구를 충족시키기 위해 많은 bash 스크립트를 작성합니다. 최근에는 그 위에 다양한 지표를 구현하고 싶은 충동을 느끼기 시작했습니다.

자동화된 무인 설치 스크립트에서 어떤 작업이 수행되고 있는지 아는 것이 좋을 것입니다.

또한..실제 진행률을 보여주는 상태 표시줄이 있으면 좋을 것 같습니다.

터미널 출력을 조작하기 위한 Linux(Debian 권장) 모델과 같은 라이브러리와 명령이 있습니까?

(다음 명령은 독자가 이해할 수 있도록 가짜 모델입니다.)

txtoverlay -k head -c azure "모든 명령 위에 MyString 표시"

또는

txtovelay -k tail -c green -a right "[완전성: 57%]"

또는

txtovelay -k 캔버스-c 하늘색-b 진한 파란색-l 2 -t 5 -w 68 -h 50

다음 그래픽 모델과 같은 것을 생성하고 싶으십니까?

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

아니면 좀 더 복잡한 오버레이..

기본적으로 개념은 HTML에서도 동일할 수 있습니다. 기본 웹페이지에는 위치가 고정된 일부 DIV가 있습니다.

<div id="MyDiv1" style="position:fixed; color: #00ffff; top: 0px; left: 0px; padding: 10px"></div>

<div id="MyDiv2" style="position:fixed; color: #00ff00; bottom: 0px; right: 0px; padding: 10px; text-align: right"></div>

그리고 스크립트 실행 중에 때때로 다음과 같은 다양한 명령을 실행합니다.

document.getElementById("MyDiv1").innerHTML = "Step 5: Installing NET-TOOLS package in progress..<br>-------------------------"

document.getElementById("MyDiv2").innerHTML = "[Completition: 57 % ]"

답변1

예, 이러한 일을 할 수 있습니다.특정 위치에 컬러 텍스트를 배치하는 방법에 대한 질문에만 집중하세요.간단하지만 다소 낮은 수준의 접근 방식은 이 tput유틸리티를 사용하는 것입니다. tput데이터베이스의 도움으로 터미널 화면을 조작하는 명령이 많이 있습니다 terminfo. 예를 들어 tput cup 23 4커서를 터미널의 23행과 4열로 이동합니다. 다른 예:

tput ed  # clear to end of screen

tput setaf 2  # set foreground color to bright green

tput cubl  # move cursor left one space

tput rev  # turn on reverse video mode

tput sc  # save the cursor position
tput rc  # restore the cursor position

stty이 유틸리티의 용도를 찾을 수도 있습니다 . 예를 들어, 현재 화면의 크기를 확인하려는 경우 다음과 같이 할 수 있습니다 stty size.

나는 이전에 일부 유틸리티에 대한 대략적인 "GUI"를 구축하여 화면을 두 부분으로 나눴습니다.상단에는 고정 높이 헤더가 있습니다. 하단에는 (스크롤링) 명령 출력이 포함되어 있습니다.저는 Bash 스크립트와 +만을 사용하여 tput이 작업을 수행했습니다 stty. 시행착오를 통해 많은 것을 찾았지만 온라인에는 다음과 같은 좋은 리소스가 있습니다.http://linuxcommand.org/lc3_adv_tput.php

man tput및 을 참조하십시오 man 5 terminfo. 후자의 경우 아래로 스크롤해야 합니다.사전 정의된 함수특히 부분.

더 높은 수준의 추상화가 있을 수 있습니다.용어 정보화면 기반 작업이지만 비교적 간단한 요구 사항이 있는 경우 tput좋은 선택입니다 . (나는 tput이것이라고 믿는다저주다른 답변에 언급된 패키지입니다. )

편집하다:모든 화면에서 이러한 기능을 원하는 것처럼 들리므로 tput위에서 설명한 방법을 사용하고 PROMPT_COMMAND메시지가 표시될 때마다 호출을 새로 고칠 때마다 해당 스크립트에 환경 변수를 지정하는 쉘 스크립트를 작성하여 이 작업을 수행할 수 있다는 점을 덧붙여야 합니다. 더 자주 새로고침하려면 화면에 연결되어 있는 동안 백그라운드에서 일부 프로세스가 실행되어야 합니다. 이것은 내가 이 답변에서 물고자 하는 것 이상입니다.

답변2

내가 이해한 바에 따르면 당신은 이와 같은 도서관을 찾고 있습니다.저주아니면 파이썬우르비드.

관련 정보