Bash 스크립트 내에서 Solarized 색상 값에 액세스하는 방법

Bash 스크립트 내에서 Solarized 색상 값에 액세스하는 방법

나는 bash PS1프롬프트에 따라 색상을 만들려고 노력하고 있습니다.솔라라이즈드 테마. 나는 가지고있다솔라라이즈드을(를) 설치하고 작업 중이지만 iTerm2지금까지 테마와 일치하는 사용자 정의 PS1 프롬프트를 만드는 데 실패했습니다.

청록색에 대해 다음과 같은 값을 사용해 보았으나 결국 색상이 없거나 잘못된 색상이 표시되었습니다. \033[0;37m

위의 값은 다음 링크에서 얻었습니다. https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

답변1

당신이 묻는 것이 있다면ANSI 이스케이프 시퀀스, 다음은 몇 가지 팁입니다.

0 Black
1 Red
2 Green
3 Yellow/Brown
4 Blue
5 Pink
6 Cyan
7 White/Gray

각각 전경색이나 배경색에 적용됩니다.

3_  sets grim    foreground color
9_  sets intense foreground color
4_  sets grim    background color
10_ sets intense background color
# 3-4, 9-10 and a code for a color.

예를 들어, printf "\033[1;44;97m"배경 44(암울한 파란색)을 전경 97(강한 흰색)으로 만듭니다.

사용해야 할 다른 유용한 색상 코드도 있습니다.

0 reset all colors
1 bold
3 italics
4 underline
5 blink
7 inverse

더 편안하게 작업하려면 fiblue fred bblack등의 별칭 세트를 만들 수 있습니다. 다음 기능을 에 추가할 수도 있습니다 bashrc.

ansi() {
    printf "\033[$1"
}

따라서 \033[1;35mdo 를 작성하는 대신 ansi '1;35m'해당 기능을 사용하여 색상 별칭을 작성하는 것이 더 편안합니다.

또한 배경색을 설정하면 이미 설정된 전경색이 재설정되므로 주의해야 합니다.\033[misc;background;foregroundm.

이렇게 하면 PS1원하는 대로 칠할 수 있습니다. 예는 다음과 같습니다.

PS1="\033[0;1;36m\u\033[0;1m:\033[1;103;30m\t\033[0m \033[1;92m\$\033[0m \r"

또한 살펴보십시오.bash_it.

귀하가 요청한 내용에 답변이 되었기를 바랍니다.

관련 정보