카테고리 없음

환경변수 세팅 - PS1, HISTSIZE, !

seonghun 2019. 5. 14. 12:27

지난번에 PATH라는 환경변수를 세팅하는 것을 이야기했다.

 

리눅스 환경변수 중 또 자주 세팅하는 변수에는 PS1이 있다.

 

리눅스 터미널 창을 열면 보통 다음과 같은 문자열이 화면에 출력된다.

 

[user@localhost ~]$

 

아무도 의문을 갖지 않고 당연하게 생각되지만 이는 bash 쉘이 default로 세팅해놓은 형식이다. 이를 변경할 수 있도록 세팅하는 변수가 PS1이다.

 

각각의 문자를 나눠서 보면 다음과 같다.

[, user, @, localhost, ~, ] $

 

이를 차례차례 알아보도록 하자.

 

먼저 echo $PS1 을 해보면 [\u@\h \W]\$ 와 같은 형태로 나와있는 것을 볼수 있다.

 

위의 각각의 문자열과 echo 에서 출력된 것들을 매칭해보면 쉽게 생각해볼 수 있다.

'[' -> '['

'user' -> \u ( user name을 출력)

'@' -> '@'

'localhost' -> \h (\h는 hostname의 앞부분을 의미한다. 리눅스 명령어로 hostname을 입력해보자)

'~' -> \W ( '~'라는 기호는 /usr/home 을 나타내는 명령어이다. echo ~ 라고 입력해보자)

']' -> ']'

'$' -> '$'

 

이 PS1 이라는 변수를 변경하고 터미널을 실행하면 형식을 변경하는게 가능하다.

ex) PS1=\w$ 라고 입력하고 터미널을 재실행하면 현재 위치와 $ 로 명령줄이 시작하는 것을 확인할 수 있다.

 

번외)

*history 라는 명령어는 현재 유저가 과거 입력했던 명령어들을 보여준다.

$HISTSIZE 라는 환경변수는 history 명령어를 통해 저장할 과거 기록들의 전체갯수를 정할수 있다.

 

* !라는 기호는 굉장히 유용하게 사용할 수 있다. (바로 직전에 수행했던 것을 다시 수행할 때)

이전에 입력했던 것들을 다시 입력할 필요가 없이 !직전명령어 와 같이 간단하게 수행할 수 있다.