환경변수
Login Sehll와 Non-Login Shell 차이점
Login Shell
- 로그인은 계정과 암호를 입력해서 Shell을 실행하는 것을 말함
- 따라서 ssh로 접속하거나 로컬에서 GUI를 통해 Shell을 실행하는 것은 Login Shell
.profile
, .bash_profile
이 두 파일은 Login할 때 로드되는 파일
.profile
은 꼭 bash가 아니더라도 로그인하면 로드되며, .bash_profile
은 bash로 로그인할 때만 실행됨
Non Login Shell
- Non-Login Shell은 로그인 없이 실행하는 Shell을 말함
- ssh로 접속하고 나서 다시 bash를 실행하는 경우나, GUI 세션에서 터미널을 띄우는 것도 여기 해당
sudo bash
나 su
도 해당
- 단 Mac Os X에서는 로그인 여부와 관계 없이 모든 터미널 창을 Login Shell로 실행
.bashrc와 .bash_profile 차이점
.bashrc
- 이미 로그인 한 상태에서 새 터미널 창을 열 때마다 실행
.bash_profile
.profile
- 로그인할 때 로드
- PATH처럼 로그인 할 때 로드해야 하는데 bash와 관계없는 것들은 여기에 넣으면 됨
- 만약 Mac에서 새 터니멀 창을 열 때마다
.bashrc
를 로드하고 싶다면 .bash_profile
에서 .bashrc
를 로드하면 됨
Tip! 추가 내용
Shell Prompt 정보 & 색상 변경하기
- 사용자의 시스템 사용환경을 개별적으로 사용할 수 있도록 지원하는 사용자별 시스템 환경변수를
Shell 변수
라고 함
Shell 변수들
가운데 PS1
이라는 변수가 prompt
의 정보를 포함하고 있음
Prompt 기본 설정 확인
$ echo $SHELL
/bin/bash
$ echo $PS1
\h:\W \u\$
Prompt에 나타낼 수 있는 정보
Prompt 색상 정보 (ANSI color)
- 색상은 0에서 7까지 사용 가능
- 색상 값 앞에 30, 40, 90, 100을 더해서 사용
- 예를 들어 32는 Normal Green을 나타내고 42는 Bright 옵션을 더하게 됨
PS1 변수 변경하기
- 전체 사용자 적용
etc/bashrc
- 모든 사용자들에게 적용되는 shell 설정 파일
- 개별 사용자 적용
~/.bashrc
- 모든 사용자들의 홈 디렉터리에 존재하며 각 개별 사용자들의 shell을 수정할 수 있음
Tip! EC2 안에서 설정
.bash_profile
설정 변경
vim ~/.bash_profile
- 적용:
source ~/.bash_profile
- 혹은
.profile
설정 변경
vim ~/.profile
- 적용:
source ~/.profile
export PS1="\[\e[1;36m\]HWAYA <EC2>\[\e[0m\]
$PS1"