Linux - 쉘 스크립트 및 색상 텍스트

Linux - 쉘 스크립트 및 색상 텍스트

내 가장 최근 게시물에서 :(https://stackoverflow.com/questions/15046851/linux-colorizing-text-in-files) 이제 터미널 창에서 텍스트 색상을 지정할 수 있습니다. (사용 echo)

/etc/issue이제 실행하기로 결정할 때마다 스크립트를 덮어쓰는 쉘 스크립트를 실행하고 싶습니다 .

이것은 내 스크립트입니다.

#!/bin/sh
# re-write /etc/issue
echo "Welcome Back!........whatever message I will put later on" > /etc/issue

이제 "Welcome back!" 텍스트에 색상을 지정하려고 합니다.

~에 따르면이 웹사이트, 색상 코드를 이스케이프하려면 Ctrl+V+ESC를 사용해야 하는데 다시 작성하려는 목적으로 쉘 스크립트에서 이를 어떻게 수행합니까 /etc/issue?

작성자가 제공한 예제(rc.issue)를 복사하여 붙여넣었습니다. 실제로 /etc/issue시작 시 파일을 덮어쓰지만 색상은 없습니다. 일반 텍스트만 표시됩니다.

누구든지 나에게 이것을 말해 줄 수 있습니까?

답변1

쉘뿐만 아니라 대부분의 쉘에서 작동하는 한 가지 방법은 bash쉘 스크립트의 텍스트에 이스케이프 문자가 나타나는지 확인하는 것입니다.

를 사용하는 경우 이스케이프 문자를 입력하려면 vim계속 입력해야 합니다. Control-VEscape그렇지 않으면 이스케이프 문자가 삽입 모드에서 명령 모드로 다시 변경되기 때문입니다.

다른 편집자에게는 이 작업을 더 쉽게 또는 더 어렵게 만드는 단점이 있을 수도 있고 없을 수도 있습니다.

이식성 을 사용 중이고 bash이식성에 관심이 없다면 \e이스케이프 기호를 사용하는 다른 옵션을 사용할 수 있습니다( bash관련 항목 참조).ANSI-C 인용문). 예를 들어:

escape=$'\e'

그러나 이것은 다른 모든 쉘에서는 작동하지 않습니다.

관련 정보