Bash에서 마지막 명령의 결과를 검색하는 것은 명령 프롬프트와 결과가 동일한 색상이기 때문에 약간 어렵습니다. 이로 인해 연속 명령의 결과를 분리하기가 어렵습니다.
예를 들어 색상을 분홍색으로 어떻게 바꾸나요?
답변1
@Rob이 맞습니다. 구체적으로 연한 빨간색으로 변경하려면(분홍색은 사용할 수 없는 색상):
PS1 = "\[\033[1;31m\]\u:\w\$\[\033[0m\] "
# ^^^^^^^ ^^ Begin/end ANSI escape
# ^^^^^ "light red foreground"
# ^^^^^^^ Your original prompt
# ^^^^^^^^^^^ Reset color back to default foreground
및 1;31m
로 묶인 ANSI 이스케이프 시퀀스(이 경우 "연한 빨간색 전경"에 대한 코드)를 사용해야 합니다 .\[\033[
\]
편집하다:연한 보라색이 원하는 색상에 더 가까울 수 있습니다. 변경 PS1
사항은 독자의 연습 문제로 남겨집니다.
답변2
대체 솔루션을 원한다면 영구적으로 만들지 않고 터미널 세션 PS1 색상을 설정하기 위한 작은 스크립트를 만들 수 있습니다(영구적인 색상을 원하는 경우 Alex의 솔루션을 따르지 않는 한).
디렉터리를 만들고 yellow.sh
저장 /usr/bin
한 다음 파일을 실행 가능하게 만들면 다음 코드를 chmod +x yellow.sh
편집 하고 추가할 수 있습니다.yellow.sh
#!/bin/bash
clear
# Yellow color variable
ylw='\x1b[93m'
echo -e "${ylw}"
clear
이 스크립트를 실행하면 터미널 색상이 노란색으로 변경됩니다. 다음 코드를 사용하여 동일한 방식으로 PS1 색상을 재설정할 수 있습니다.
#!/bin/bash
clear
# Reset color to default
rst='\x1b[0m'
echo -e "${rst}"
clear
다음은 사용할 수 있는 일부 색상 코드 변수의 빠른 목록입니다.
black=$'\x1b[90m' # Dark gray. Not used much.
red=$'\x1b[91m'
green=$'\x1b[92m'
yellow=$'\x1b[93m'
blue=$'\x1b[94m'
purple=$'\x1b[95m'
cyan=$'\x1b[96m'
pink=$'\x1b[97m'
default=$'\x1b[0m' # Reset to default color.
간단한 스크립트 내의 일반 명령 사용법:
echo -e "${red} $(ls $1) ${default}" # Argument would be the directory you want to list.
사용할 색상을 설정하는 방법에 따라 이 작업은 다소 빠르게 수행될 수 있습니다. 제가 제공한 색상 코드가 전부는 아닙니다. 단말기가 지원하는 색상에 따라 256가지 색상 범위를 사용할 수 있습니다.