티스토리 뷰
셸 변수와 환경변수
- 셸 변수는 셸의 환경을 설정하기 위한 값을 저장
* 모든 변수와 값을 출력하기 위해 set 명령을 사용
- 셸 변수
* 현재 셸에서만 사용이 가능하고 서브 셸로는 전달되지 않음(지역변수)
- 환경 변수
* 현재 셸뿐만 아니라 서브 셸로도 전달(전역변수)
* 보통 변수 이름으로 대문자를 사용함
* 터미널 창을 열어 쉘을 시작하면 이미 많은 환경 변수가 설정되어 있음
* 모든 환경 변수와 값을 출력하기 위해 printenv 명령을 사용
자주 사용되는 환경 변수
변수 |
내용 |
HISTSIZE |
1개 셸에서 저장되는 명령 히스토리 목록의 최대 개수로 기본 값은 1000 |
HOME |
홈 디렉터리 |
사용자의 메일박스에 해당하는 파일로 보통 /var/spool/mail/username |
|
PATH |
명령을 수행할 때 실행 파일을 찾기 위한 디렉터리 목록 |
PS1 |
쉘 프롬프트를 표시하기 위한 문자열 |
SHELL |
사용 중인 기본 셸 |
PWD |
현재 작업 디렉터리 |
USER |
현재 사용자 계정 |
로그인과 셸의 환경 설정 파일
- 로그인할 때 또는 셸을 시작할 때 자동으로 실행되는 명령을 저장한 파일
* 시스템 환경 설정 파일과 사용자 환경 설정 파일이 있음
* 셸의 종류에 따라 다른 이름의 파일을 사용함
* bash 셸의 경우 다음과 같음
파일 |
설명 |
/etc/profile |
모든 사용자에게 적용. 로그인할 때 가장 먼저 수행됨 PATH, MAIL, HISTSIZE 등 전역의 환경 변수가 설정됨 |
~/.bash_profile |
로그인할 때 수행되며 개별 사용자에게 적용됨 보통 내부에서 ~/.bashrc를 실행 |
~/.bashrc |
쉘을 시작할 때마다 수행되며 개별 사용자에게 적용됨 보통 내부에서 /etc/bashrc를 수행 |
/etc/bashrc |
모든 사용자에게 적용. 쉘을 시작할 때마다 수행됨 PS1, 에일리어스 설정, umask를 사용한 접근권한의 초기값, 함수 등을 설정. |
~/.bash_logout |
로그아웃을 수행할 때 실행되는 스크립트 파일 |