Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Linux 터미널 프롬프트에서 Bash 색상 및 콘텐츠를 사용자 지정하는 방법

오늘날 Bash는 대부분의(전부는 아닐지라도) 최신 Linux 배포판의 기본 셸입니다. 그러나 터미널의 텍스트 색상과 프롬프트 내용은 배포판마다 다를 수 있습니다.

권장 읽기: Linux용으로 가장 자주 사용되는 5가지 오픈 소스 셸

더 나은 접근성 또는 단순한 변덕을 위해 이것을 사용자 정의하는 방법이 궁금하시다면 계속 읽으십시오. 이 기사에서는 그 방법을 설명할 것입니다.

PS1 Bash 환경 변수

명령 프롬프트 및 터미널 모양은 PS1이라는 환경 변수에 의해 제어됩니다. . 배쉬에 따르면 매뉴얼 페이지, PS1 쉘이 명령을 읽을 준비가 되었을 때 표시되는 기본 프롬프트 문자열을 나타냅니다.

PS1에서 허용된 콘텐츠 PROMPTING에 의미가 나열된 여러 백슬래시 이스케이프 특수 문자로 구성됩니다. 매뉴얼 페이지 섹션.

설명을 위해 PS1의 현재 콘텐츠를 표시해 보겠습니다. (귀하의 경우에는 다소 다를 수 있음):

$ echo $PS1

[\admin@wsxdn.com\h \W]$

이제 PS1을 사용자 지정하는 방법을 설명합니다. 우리의 필요에 따라.

PS1 형식 사용자 지정

매뉴얼 페이지의 PROMPTING 섹션에 따르면 각 특수 문자의 의미는 다음과 같습니다.

  1. \u: 사용자 이름 현재 사용자입니다.
  2. \h: 호스트 이름 첫 번째 점 (.)까지 정규화된 도메인 이름에서.
  3. \W: 기본 이름 현재 작업 디렉토리의 $HOME 물결표 (~)로 축약됨 .
  4. \$: 현재 사용자가 루트인 경우 # 표시 , $ 그렇지 않으면.

예를 들어, \!를 추가하는 것을 고려할 수 있습니다. 현재 명령의 히스토리 번호를 표시하거나 \H 짧은 서버 이름 대신 FQDN을 표시하려는 경우

다음 예에서는 이 명령을 실행하여 둘 모두를 현재 환경으로 가져옵니다.

PS1="[\admin@wsxdn.com\H \W \!]$"

Enter 키를 누르면 프롬프트 내용이 아래와 같이 변경되는 것을 볼 수 있습니다. 위의 명령을 실행하기 전과 후의 프롬프트를 비교하십시오:

Linux 터미널 프롬프트에서 Bash 색상 및 콘텐츠를 사용자 지정하는 방법

이제 한 단계 더 나아가 사용자의 색상을 변경해 보겠습니다. 및 호스트 이름 명령 프롬프트에서 – 텍스트와 주변 배경 모두.

실제로 프롬프트의 3가지 측면을 사용자 지정할 수 있습니다.

텍스트 형식 전경(텍스트) 색상 배경색
0:일반 텍스트 30:블랙 40:블랙
1:굵게 31:빨간색 41:빨간색
4:밑줄이 그어진 텍스트 32:녹색 42:녹색
33:노란색 43:노란색
34:파란색 44:파란색
35:보라색 45:보라색
36:청록색 46:청록색
37:흰색 47:흰색

\e를 사용합니다. 시작 부분의 특수 문자 및 m 뒤에 오는 것이 색상 순서임을 나타내기 위해 끝에.

이 순서에서 세 개의 값(배경 , 형식전경 )는 쉼표로 구분됩니다(값을 지정하지 않으면 기본값으로 간주됨).

추천 읽기: Linux에서 Bash Shell 스크립팅 배우기

또한 값의 범위가 다르기 때문에 어느 것(배경 , 형식 , 또는 전경 ) 먼저 지정합니다.

예를 들어, 다음 PS1 프롬프트가 노란색으로 표시됩니다. 빨간색으로 밑줄이 그어진 텍스트 배경:

PS1="\e[41;4;33m[\admin@wsxdn.com\h \W]$ "
Linux 터미널 프롬프트에서 Bash 색상 및 콘텐츠를 사용자 지정하는 방법

보기에 좋지만 이 사용자 지정은 현재 사용자 세션에서만 지속됩니다. 터미널을 닫거나 세션을 종료하면 변경 사항이 손실됩니다.

이러한 변경 사항을 영구적으로 적용하려면 ~/.bashrc에 다음 줄을 추가해야 합니다. 또는 ~/.bash_profile 배포에 따라:

PS1="\e[41;4;33m[\admin@wsxdn.com\h \W]$ "

색상을 자유롭게 사용하여 가장 적합한 색상을 찾으십시오.

요약

이 기사에서는 Bash 프롬프트의 색상과 내용을 사용자 정의하는 방법을 설명했습니다. 이 게시물에 대한 질문이나 제안 사항이 있는 경우 아래 의견 양식을 사용하여 언제든지 저희에게 연락하십시오. 여러분의 의견을 기다립니다!