온라인으로 많은 튜토리얼 / 포스트가 있습니다 (예 : http://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/ ) 을 설정하여 bash에서 프롬프트를 사용자 정의하는 방법에 대해 설명합니다 PS1
. 내가 입력 한 명령의 색상 / 굵게를 사용자 정의하는 방법이 있습니까?
즉, 예를 들어 녹색 프롬프트, 굵은 파란색 명령을 원하고 기본 색상으로 출력한다고 가정합니다. 아래 예에서 나는 ” joe>
“를 설정하여 녹색, 파란색, 굵게 표시 하는 방법을 이미 알고 PS1
있습니다. 그러나 git status
예를 들어 굵게 표시 할 수있는 방법이 있습니까?
joe> git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
...
답변
PS1 뒤에 색상을 남기고 ( >
예제에서 시작한 후 ) bash DEBUG
트랩을 사용 하여 명령을 실행하기 전에 색상을 지우십시오 (그러나 쉘에서 enter 키를 누른 후) :
shopt -s extdebug
trap "tput sgr0" DEBUG
답변
완성도를 높이기 위해 bash에서 프롬프트 색상과 명령 줄 입력 색상을 설정하는 방법이 있습니다. 이 줄을에 넣으십시오 .bashrc
.
PS1='\[\e[1;34m\]\w\$ \[\e[0;32m\]'
trap 'printf \\e[0m' DEBUG
Chris Down 에서 제안한 DEBUG 트랩 은 텍스트 속성을 재설정하는 데 사용됩니다. 디버깅 용이지만 user에 의해 입력 된 명령을 실행하기 전에 코드를 실행하는 것도 유용합니다 .
프롬프트 설정에서 :
\[…\]
이스케이프 시퀀스 주위에 사용되어 bash에게 화면 공간을 사용하지 않는다는 것을 알리기 위해 사용합니다.\e[…m
여기서…
숫자, 또는 일반적으로 세미콜론으로 구분 된 숫자 시퀀스 는 다음 텍스트의 색상 및 기타 속성에 영향을주기 위해 터미널로 전송 되는 이스케이프 시퀀스 입니다. 예를 들어1;34
굵은 파란색으로 설정합니다.0;32
모든 속성을 재설정 한 다음 색상을 녹색으로 전환합니다. 맛에 맞게 조정하십시오.\w\$
현재 디렉토리와 인쇄$
또는#
. 물론 이것을 원하는대로 변경할 수 있으며 원하는 경우 텍스트 속성 변경 사항을 삽입 할 수 있습니다.- 마지막에는 속성 입력이 변경되어 텍스트 입력의 색상이 설정됩니다.
답변
나는 단지 BASH 명령에 대해 배우고 있으며 내 버전에서 색상 명령으로 놀고 있습니다. 이 솔루션을 알아 냈습니다.
이 명령을 사용하여 :
PS1='\[\e[0:36m\]\h>\[\e[0;31m\]'
해체 : PS1 = : PS1 명령을 시작합니다
”: 작은 따옴표로 명령을 포함합니다 (따라서 BASH는 명령이라고 생각하지 않습니다)
\ : 각 개별 명령은 이것으로 시작합니다
[] : 각 명령을 포함
\ e (\ 033 ASCII 이스케이프 문자 일 수도 있음) : 색상 명령을 시작합니다
색상 명령이 적용되는 것보다 우선합니다.
[\ e [0; 36m] : 시안
\ h : 호스트 이름
‘>’: 호스트 이름 뒤에 인쇄
[\ e [0; 31m] : 빨강
분명히 끝에있는 빨간색 명령은 입력을 빨간색으로 만듭니다. 원하는대로 색상을 변경하기 만하면됩니다.
또한이 사이트는 약간 도움이되었습니다.
https://www.linuxnix.com/linuxunix-shell-ps1-prompt-explained-in-detail/
내 버전 : GNU bash, v. 4.2.46
조심해,
족제비