Linux Bash 프롬프트 의 일부 소 동작 (사용자 정의 Bash 프롬프트)

3583 단어
Bash 프롬프트 를 사용자 정의 할 수 있 는 블랙 기술
Linux 환경 에서 Shell 터미널 을 열 면 명령 줄 에 다음 과 같은 Bash 프롬프트 가 나타 납 니 다.

[user@$host ~]$

명령 행 프롬프트 가 사실 유용 한 정 보 를 많이 추가 할 수 있 는 것 을 알 고 있 습 니까?이 글 에 서 는 Bash 명령 행 프롬프트 를 사용자 정의 하 는 방법 을 알려 드 리 겠 습 니 다. 보고 싶 으 면 계속 보 세 요 ~
어떻게 Bash 프롬프트 를 설정 합 니까?
Bash 프롬프트 는 환경 변수 PS1 (프롬프트 문자열 1Prompt String 1) 을 통 해 설 정 됩 니 다. 대화 식 셸 프롬프트 에 사 용 됩 니 다.물론 Bash 명령 을 완성 하려 면 더 많은 입력 이 필요 할 때 PS2 환경 변 수 는 여러 줄 의 프롬프트 를 설정 하 는 데 사 용 됩 니 다.

[dneary@dhcp-41-137 ~]$ export PS1="[Linux Rulez]$ "
[Linux Rulez] export PS2="... "
[Linux Rulez] if true; then
... echo "Success!"
... fi
Success!

PS1 값 은 어디서 설정 합 니까?
PS1 은 일반적인 환경 변수 입 니 다. 시스템 의 기본 값 은/etc/bashrc 에 설정 되 어 있 습 니 다. 제 시스템 에서 기본 프롬프트 는 다음 명령 을 통 해 설정 되 어 있 습 니 다.

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

PS1 이 시스템 의 기본 값 인지 판단 합 니 다\s -\v $, 그렇다면 값 을 [\u @\h\W]\\$로 설정 합 니 다.(LCTT 번역 주: 주의 명령 에서\\로 전 의 를 했 습 니 다.)
그러나 사용자 정의 프롬프트 를 원한 다 면/etc/bashrc 를 수정 하지 말고 홈 디 렉 터 리 에 사용자 정의 명령 을 'bashrc 파일' 에 추가 해 야 합 니 다.
위 에서 언급 한\u,\h,\W,\s 와\v 는 무슨 뜻 입 니까?
man bash 의 PROMPTING 장 에서 PS1 과 PS2 와 관련 된 모든 특수 문자 에 대한 설명 을 찾 을 수 있 습 니 다. 다음은 비교적 자주 사용 되 는 것 입 니 다.
  • \u: 사용자 이름
  • \h: 짧 은 호스트 이름
  • \W: 현재 당신 이 있 는 디 렉 터 리 의 이름 (basename), ~ 홈 디 렉 터 리
  • \s: Shell 이름 (bash 또는 sh, 당신 의 Shell 이름 이 무엇 인지 에 달 려 있 습 니 다)
  • \v: Shell 버 전 번호
  • 프롬프트 에 사용 할 수 있 는 특별한 문자열 이 있 습 니까?
    위 에 있 는 것 외 에 도 프롬프트 에 사용 할 수 있 는 유용 한 문자열 이 많 습 니 다.
  • \d: 날 짜 를 "Tue Jun 27"형식 으로 확장 합 니 다
  • \\D {fmt}: 사용자 정의 날짜 형식 을 허용 합 니 다. man strftime 을 통 해 더 많은 정 보 를 얻 을 수 있 습 니 다
  • \\D {% c}: 로 컬 화 된 날짜 와 시간 획득
  • : 줄 바 꾸 기 (아래 의 여러 줄 프롬프트 참조)
  • \w: 현재 작업 디 렉 터 리 의 전체 경 로 를 표시 합 니 다
  • \H: 현재 작업 기계 의 전체 호스트 이름
  • 이 외 에 도 Bash 의 man 페이지 의 PROMPTING 부분 에서 더 많은 특수 문자 와 용 도 를 찾 을 수 있 습 니 다.
    다 중 줄 프롬프트
    만약 에 알림 부호 가 너무 길 면 (예 를 들 어\H,\w 또는 완전한 날짜 시간 을 포함 하고 싶 을 때) 알림 부 호 를 두 줄 로 자 르 려 면 알림 부 호 를 두 줄 로 끊 어서 표시 할 수 있 습 니 다. 예 를 들 어 아래 의 여러 줄 의 예 는 첫 줄 에 날짜, 시간 과 현재 작업 목록 을 표시 하고 두 번 째 줄 에 사용자 이름과 호스트 이름 을 표시 합 니 다.
    
    PS1="\D{%c} \w
    [\u@\H]$ "

    더 재 밌 을 수 있 을까요?
    사람들 은 가끔 프롬프트 를 컬러 로 바 꾸 려 고 한다.비록 나 는 컬러 프롬프트 가 사람 을 신경 쓰 게 하고 쉽게 화 나 게 한다 고 생각 하지만, 아마도 너 는 매우 좋아 할 것 이다.만약 우리 가 날 짜 를 빨간색 으로 바 꾸 고 싶다 면, 디 렉 터 리 를 파란색 으로 바 꾸 고, 사용자 이름 을 노란색 배경 으로 만 들 면, 당신 은 이렇게 할 수 있 습 니 다.
    
    PS1="\[\e[31m\]\D{%c}\[\e[0m\]
       \[\e[36m\]\w\[\e[0m\]
    [\[\e[1;43m\]\u\[\e[0m\]@\H]$ "
  • \[..\]: 일부 비 인쇄 문자
  • 를 나타 낸다.
  • \\e [...: 전의 문자, 뒤에 따 르 는 특정한 전의 문자열 은 터미널 에서 색상 이나 다른 의 미 를 표시 합 니 다
  • 31m: 빨간색 글씨체 (41m 는 빨간색 배경 임)
  • 36m: 파란색 글씨체 임 을 나타 낸다
  • 1; 43m: 노란색 글씨체 (1; 33m 는 노란색 글씨체)
  • [\e [0m]: 마지막 에 색 을 시스템 터미널 기본 색 으로 복원 합 니 다
  • Bash prompt HOWTO 에서 더 많은 색상 코드 를 찾 을 수 있 습 니 다. 심지어 문 자 를 반사 시 키 고 반 짝 일 수 있 습 니 다. 왜 지구 인 들 이 이런 생각 을 하 는 지 모 르 겠 지만 이렇게 할 수 있 습 니 다!
    그래서 당신 이 가장 좋아 하 는 사용자 정의 프롬프트 는 어떤 모습 일 까요? 당신 을 미 치 게 하 는 사용자 정의 프롬프트 가 있 나 요? 댓 글로 알려 주세요.
    (사진 출처: ajmexico. Jason Baker. CC BY - SA 2.0.)
    작성 자 프로필:
    Dave Neary - Dave Neary 는 빨 간 모자 의 개원 과 표준화 팀 의 구성원 으로 개원 프로젝트 를 돕 는 것 이 빨 간 모자 의 성공 에 매우 중요 하 다. 1999 년 GIMP 에 첫 패 치 를 제출 한 이래 다양한 모 자 를 쓰 고 개원 의 세 계 를 돌아 다 녔 다.
    via: https://opensource.com/article/17/7/bash-prompt-tips-and-tricks
    저자: Dave Neary

    좋은 웹페이지 즐겨찾기