이 프로그램은 멋져 보이지만 빨간색을 지정하면 컴퓨터에 불이 붙은 것처럼 보입니다. 나는 grep이나 유사한 파이프 명령을 사용하면 된다고 생각했지만, ASCII 이스케이프 코드를 컬러로 인쇄하고 출력의 특수 형식을 제거하여 불처럼 보이게 만드는 것을 보았습니다.
답변1
cacafire
ASCII fire( aafire
)는 현재 dead 를 사용하여 생성되었습니다 libaa
. 이것은 실제로 터미널 색상 코드보다 앞선 것일 수 있습니다(기억이 나지 않습니다). 그러나 최신 버전에서는 여전히 유지됩니다.libcaca
제공되는 것입니다 cacafire
.
답변2
명령줄 플래그를 사용하면 팝업 창 대신 터미널에 출력이 표시되도록 구성할 수 있습니다.
aafire -driver stdout -width 80 # match width of your terminal
aafire --help # see available options
이제 쉘 애플리케이션의 기본 설정을 사용하여 색상을 제어할 수 있습니다. 예를 들어, 저는 Ubuntu에서 gnome-terminal을 사용하고 있으므로 Edit > Profile Preferences 메뉴로 이동합니다.
글꼴 색상과 배경색 자체를 변경하는 것은 원칙적으로 가능해 보입니다.
aatest
첫 번째 행의 배경은 파란색입니다. 배경색에 이스케이프 문자를 지정하면 이 작업이 수행되는 것 같습니다. 이 문제에 대한 많은 토론을 찾을 수 있습니다. 사람들은 묻습니다.Bash 프롬프트 색상 변경.
색상을 변경하기 위해 이스케이프 문자를 삽입하려면 셸에서 이 작업을 수행할 수 있는지 잘 모르겠습니다. 아마도 stdin의 입력을 받아들이고, aafire의 출력을 스크립트에 파이프하고, 변색된 문자를 에코하고, 마지막으로 stdin의 메시지를 에코하는 사용자 정의 bash 스크립트를 작성할 수 있습니다.
또는 C 프로그램 등에서 라이브러리를 호출해야 할 수도 있습니다.
#include <stdio.h>
#include <aalib.h>
aa_context *context;
void main(int argc, char **argv)
{
if(!aa_parseoptions(NULL, NULL, &argc, argv) || argc!=1) {
printf("Usage: %s [options]\n"
"Options:\n"
"%s", argv[0], aa_help);
exit(1);
}
context = aa_autoinit(&aa_defparams);
if(context == NULL) {
fprintf(stderr,"Cannot initialize AA-lib. Sorry\n");
exit(2);
}
...
aa_close(context);
}
예제 소스 코드는 다음에서 제공됩니다.알리브 문서.
답변3
이 시도
aafire -driver curses