우분투에서 배쉬 (bash) 프롬프트를 변경하는 방법을 알아보자.
1. $PS1 변수
배쉬 프롬프트의 형식은 $PS1 변수에 의해 결정된다.
$PS1 변수의 내용을 확인해 보자.
echo $PS1
$PS1 변수의 내용은 다음과 같다.
${debian_chroot:+($debian_chroot)}\u@\h:\w\$
\u 는 사용자 이름을 가리킨다.
@ 는 @ (at) 문자 자체이다.
\h 는 호스트네임 (hostname) 을 가리킨다.
: 는 : (colon) 문자 자체이다.
\w 는 현재 작업 디렉토리 (current working directory) 를 가리킨다.
\$ 는 $ (dollar) 문자를 가리킨다. 일반 사용자의 경우에는 $ (dollar) 문자로 표시되고 root 사용자의 경우에는 # (hash) 문자로 표시된다.
호스트네임이 vm-test 인 시스템에서 root 사용자가 /etc/apache2 디렉토리에 있을 경우에 프롬프트는 다음과 같다.
2. 배쉬 프롬프트 변경하기
$PS1 변수의 내용을 변경하면 배쉬 프롬프트가 변경된다.
$PS1 변수를 변경하기 전에 기존 내용을 다른 변수에 저장한다.
PS_BAK=$PS1
배쉬 프롬프트에 사용자 이름과 현재 디렉토리만 표시되도록 변경한다.
PS1=”\u:\w\$”
변경의 효과는 즉시 나타난다. 결과를 확인해 보자.
3. 배쉬 프롬프트 복구하기
원래 내용이 저장된 변수를 이용하여 배쉬 프롬프트를 복구한다.
PS1=$PS_BAK
4. 배쉬 프롬프트의 영구적인 변경
앞에서 알아본 변경의 효과는 일시적이다. 시스템을 재시작하거나 사용자가 다시 로그인하면 배쉬 프롬프트는 원래의 상태로 돌아간다.
배쉬 프롬프트를 영구적으로 변경해 보자.
편집기로 홈 디렉토리에 있는 .bashrc 파일을 연다.
vi ~/.bashrc
파일에서 아래 내용의 라인을 찾는다.
PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ‘
이 라인을 다음과 같이 수정한다.
PS1=’${debian_chroot:+($debian_chroot)}\u:\w\$ ‘
파일을 저장하고 편집기를 닫는다.
시스템에서 로그아웃했다가 다시 로그인한다.
배쉬 프롬프트가 변경되어 있는지 확인해 보자.