쉘변수 PS1의 의미와 사용기호 파악하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,218 조회
- 0 추천
- 목록
본문
쉘변수 PS1의 의미와 사용기호 파악하기
그렇다면 현재 사용중인 사용자의 쉘변수를 확인해 보도록 하자. 개별 쉘변수를 확인하는 방법은 다음과 같이 echo라는 것을 사용한다.
[root@sulinux ~]#echo $PS1 [\u@\h \W]\\$ [root@sulinux ~]# |
위와 같이 PS1변수의 값을 확인해 보았다.
그 결과 “[\u@\h \W]#”라는 값이 나왔는데 결론적으로 “[\u@\h \W]\\$”이 표기 때문에 우리가 사용하고 있는 쉘프롬프트의 모양이 결정되었다라는 것이다.
그렇다면 이런 표기의 의미는 다음과 같다.
[ : “[”자체를 그대로 나타냄.
\u : 현재 사용자를 의미함.
@ : “@”기호를 자체를 나타냄
\h : 현재 시스템의 호스트명을 의미함.
\W : 현재 위치의 절대경로가운데 현재 디렉토리명만을 나타냄
] : “]”자체를 그대로 나타냄
\\$ : root(UID가 0이면)이면 #을 표시하고 일반사용자면 $을 표시함.
물론, 위의 PS1의 값은 시스템, 사용자마다 충분히 다르게 설정되어 있을 수 있다.
결론적으로 위의 PS1변수값을 어떻게 설정하는가에 따라서 쉘프롬프트의 모양이 결정되고, PS1의 변수값은 위의 기호로 정의한다.
그렇다면 PS1의 변수값에 사용할 수 있는 기호들은 어떤 것들이 있는가를 알아보도록 하자. 즉, 다음은 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.superuser.co.kr에서 www부분) |
\H
|
서버의 도메인명 표시함.(예 : www.superuser.co.kr에서 superuser.co.kr부분) |
\#
|
접속한 순간부터 사용한 명령어의 번호를 1번부터 차례대로 표시함. 즉, 명령어를 사용한 횟수를 표시하기 위함이 목적임. |
\!
|
사용한 명령어의 history번호를 표시함. |
\\$
|
현재 사용자가 root(UID가 0이면)이면 #을 표시하고 아니면 $을 표시함. |
\\
|
“\”문자 자체를 표시함. |
\a
|
ASCII 종소리 문자(07) |
\e
|
ASCII의 escape문자(033) |
\n
|
개행문자(줄바꾸기) |
\v
|
사용중인 bash의 버전 |
\V
|
사용중인 bash의 배포,버전+패치수준으로 버전을 상세히 표시함. |
\r
|
Carrage return |
\nnn
|
8진수 nnn에 해당하는 문자 |
이제 쉘프롬프트의 모양을 결정하는 변수와 그변수에서 사용하는 기호들을
알아보았고, 그 기호들에 대한 각각의 의미들에 대해서도 알아보았다.
즉, 우리가 원하는 값을 가지도록 PS1이라는 변수를 위의 기호들을 이용하여 변경해 주면 된다.
여러분들은 어떤 기호들을 사용하여 PS1변수를 변경해 주고 싶은가? 자. 그럼 PS1변수의 의미와 PS1변수에서 사용할 수 있는 기호들과 그 의미들을 모두 알아보았다.
이제 남은 것은 하나이다.
즉, PS1변수를 변경하는 방법에 대한 것이다.
관련자료
-
이전
-
다음