본문으로 바로가기

현재 사용자의 시스템 사용환경을 개별적으로 사용할 수 있도록 지원하는 사용자별 시스템환경변수를 쉘변수라 한다. 쉘변들 가운데 PS1 이라는 쉘변수가 있는데 이 쉘변수는 우리가 사용하는 쉘변수의 모양을 결정한다. 쉘변수들을 확인하려면 env 라는 명령어를 실행해 보면된다.

현재 사용자의 쉘변수 확인하기

ehco 는 화면에 출력하라는 명령어 $PS1 은 쉘변수

echo $PS1

PS1 변수에 사용되는 기호들과 그 의미

쉘변수 기호 의미
\t 24시간의 단위로 현재시각을 HH:MM:SS 로 표시
\T 12시간의 단위로 현재시각을 HH:MM:SS 로 표시
\@ 12시간의 단위로 현재시각을 오전/오후 로 표시
\d 현재 날짜를 나타냄. 요일, 월, 일 형식으로
\s 현재 사용중인 쉘의 이름을 나타냄 (C쉘이면 /bin/csh, bash쉘이면 /bin/bash)
\w 현재 디렉토리의 전체 절대경로를 모두 표시함
\W 현재 디렉토리의 전체 절대경로명 중 마지막 디렉토리명만을 표시함. 즉 현재디렉토리만 표시함
\u 사용자명을 표시함
\h 서버의 호스트명을 표시함 (www.uzuro.com에서 www 부분)
\H 서버의 도메인명을 표시함 (www.uzuro.com에서 uzuro.com 부분)
\# 접속한 순간부터 사용한 명령어의 번호를 1번부터 차례대로 표시함
\! 사용한 명령어의 history 번호를 표시함
\\$ 현재 사용자가 root(uid 가 0 )이면 # 을 표시하고 아니면 $ 를 표시함
\\ '\' 문자 자체를 표시함
\a ASCII 종소리 문자 (07)
\e ASCII 의 escape 문자 (033)
\n 개행문자 (줄바꿈)
\v 사용중인 bash 의 버전
\V 사용중인 bash 의 배포, 버전+패치수준으로 버전을 상세히 표시함
\r Carrage retrun
\nnn 8진수 nnn 에 해당하는 문자

PS1 변수를 변경하는 방법

인스턴스, 개별사용자, 전체사용자 를 위한 변경방법들 이다. 원하는 방법을 골라 적용하면 된다.

전체사용자에게 적용

/etc/bashrc : 모든 사용자들에게 적용되는 쉘 사용환경 설정파일

vi /etc/bashrc

  ... (생략)
  [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "

위 구문을 찾아 PS1="[\u@\h \w]\\$ "를 원하는데로 수정하면 된다.

개별사용자 적용

.bashrc : 모든 사용자의 홈디렉토리에 존재하며 이 파일에 각 개별사용자들의 쉘 사용환경을 설정할 수 있다.

vi /home/사용자/.bashrc

  ...(생략)
  PS1="[\u@\h \w]\\$ "

위 구문처럼 PS1="[\u@\h \w]\\$ " 를 맨아래에 추가하여 준다.

인스턴스 변경

재부팅하면 초기화된다.

export  PS1="[\u@\h \w]\\$ "