티스토리 툴바



MS도스 또는 윈도우의 도스창에서는 프롬프트 Prompt 가 1종류뿐이지만, 리눅스에는 2종류가 있습니다. 하나는 PS1 프롬프트이고, 그리고 PS2 라는 특수한 프롬프트도 있습니다. 리눅스에서, 보통 때에는 PS1 프롬프트가 나옵니다. 여기에다 명령어를 입력하면 됩니다. 그런데 그 명령어가 완전히 입력되지 않았을 때에는

>

이런 무서울 정도로 단순한 프롬프트로 변하게 됩니다. 이것이 PS2 프롬프트입니다. 명령어가 완전히 입력되지 않았으니 더 입력하라는 뜻입니다. 예를 들어 리눅스에서

echo "foo

이런 명령어를 입력하면 PS2 프롬프트가 나옵니다. 왜냐하면 위의 경우 따옴표를 닫아주지 않았기 때문입니다. 이 경우에는 > 라는 PS2 프롬프트에 쌍따옴표를 하나 적어주고 엔터키를 치면 정상화되고, 다시 보통의 PS1 프롬프트로 돌아옵니다.

출처 : http://mwultong.blogspot.com/2007/08/ps1-ps2-prompt.html


일단 prompt 는 PS1 이라는 환경 변수를 이용한다. 즉 root 권한이 있다면 /etc/bashrc나 /etc/profile 에서 PS1 변수가 지정이 되어 있는것을 수정하여 전체 유저의 prompt 를 수정할수 있다. 만약 개인 유저가 prompt 를 수정하고 싶다면 계정 홈의 .bashrc 의 제일 마지막 라인에 PS1="" 을 설정해 주면 된다. PS1 에 사용되는 예약어에 대해서는 아래를 참고 하도록 하면 된다.

t 현재 시간을 HH:MM:SS 형식으로 표시
d 날자를 "요일 월 일" 형식으로 표시 (예, "Tue May 26")
n 개행문자
s 쉘의 이름, $0 의 베이스 이름 (마지막 슬래쉬 뒷 부분)
w 현재 작업 디렉토리
W 현재 작업 디렉토리의 베이스 이름
u 현재 사용자의 사용자명
h 호스트 이름
# 이 명령의 명령 번호
! 이 명령의 히스토리 번호
$ 유효 UID가 0 이면 if the effective UID is 0, a #, 그렇지 않으면 $
nnn 팔진수 nnn에 해당하는 문자
\ 백슬래쉬
[ 비출력 문자의 시퀀스를 시작한다. 프롬프트에 터미널 제어 시퀀스를 넣을 때 사용한다.
] 비출력 문자의 시퀀스를 마친다.

출처 : http://www.dasomnetwork.com/~leedw/mywiki/moin.cgi/_b5_bf_bf_ec_c0_c7_20HomePage