Linux ETC

쉘 프롬프트 설정하기

2012.11.08 16:54

호스트웨이 조회 수:2668

리눅스의 기본 bash 프롬프트 상태는 [root@heroz ~]# 입니다.

bash 프롬프트 상태는 PS1 쉘 변수로 제어가 됩니다.

따라서 프롬프트 상태를 바꾸기 위해서는 PS1 변수를 변경해 주면 됩니다.

주의할 점은 프롬프트 현 상태에서 PS1 변수를 변경하면 프롬프트가 바로 바뀌기 때문에 원상태의 프롬프트로 변환하기 위해서는

다른 변수에 현 상태의 프롬프트를 저장해야 합니다.

변경하는 방법은 아래와 같습니다.

 

프롬프트를 변경한 후에 다시 원 상태로 되돌아오려면 다음과 같이 명령을 주면 됩니다.

현재의 프롬프트를 아래와 같이 도스와 같은 형태의 프롬프트 상태로 바꿀 수도 있습니다.

 

옵션>

 

\a ASCII 종소리 문자(07)
\d "요일 달 날짜" 형식의 날짜 표시 (예 : "Tue May 26")
\e ASCII의 escape 문자(033)
\h 첫 번째 "." 까지의 hostname
\H hostname
\n 새로운 줄(줄 바꾸기)
\r carrage return
\s 쉘의 이름, $0의 basename (마지막 slash의 다음에 따라오는 부분)
\t 24-시간으로 현재 시각, HH:MM:SS(시:분:초) 형식
\T 12-시간으로 현재 시각, HH:MM:SS(시:분:초) 형식
\@ 12-시간으로 현재 시각, 오전/오후 형식
\u 현재 사용자의 username
\v bash의 버전(예 : 2.00)
\V bash의 배포, 버전 + 패치수준 ( 예 : 2.00.0 )
\w 현재 작업 디렉토리
\W 현재 작업 디렉토리의 basename
\! 현재 명령어의 history 번호
\# 현재 명령어의 command 번호
\$ 유효한 UID가 0이면 #을, 그렇지 않으면 $를 표시.
\nnn 8 진수 nnn에 해당하는 문자
\\ backslash
\[ 터미널 조정 sequence를 프롬프트에 끼워 넣기 위해 사용될 수 있는 non-printing 문자의 시작

\] non-printing 문자의 끝

 

 

ex>

1. 프롬프트 상태에서 날짜를 표시하기

2. 시간 표시하기

3.작업 절대 결로 보여 주기