~/.zshrc
의 역할Mac에서는 터미널을 실행하면 기본적으로 zsh
(Z Shell)이 실행됩니다. 이때 특정 설정 파일(~/.zshrc
)이 로드되면서 사용자 환경을 설정합니다. 이를 이해하기 위해 다음과 같은 개념들을 정리해 보겠습니다.
/bin/zsh
에 위치)이며, 다른 셸도 존재 (예: bash
, fish
, sh
) echo $SHELL
명령으로 현재 사용 중인 셸 확인 가능 chsh -s /bin/bash
와 같은 명령으로 기본 셸 변경 가능 ~/.zshrc
의 역할zsh
(/bin/zsh
)의 실행 과정Mac에서 터미널을 열면 로그인 셸(Login Shell)이 실행됨
1. 로그인 셸이 실행될 때 읽는 파일
/etc/zshenv
→ 시스템 전역 환경 설정 /etc/zprofile
→ 로그인 시 실행됨 ~/.zprofile
→ 사용자별 로그인 설정 인터랙티브 셸이 실행될 때 읽는 파일
/etc/zshrc
→ 시스템 전역 설정 ~/.zshrc
→ 사용자별 환경 설정 셸이 종료될 때 실행되는 파일
/etc/zlogout
, ~/.zlogout
즉, Mac에서 터미널을 열면 zsh
가 실행되며, ~/.zshrc
에 있는 설정들이 적용됨.
~/.zshrc
의 역할export PATH=$PATH:/usr/local/bin
) alias ll='ls -la'
) export PS1="%n@%m %~ %# "
) source ~/.zshrc
명령을 실행하면 .zshrc
를 다시 로드하여 변경 사항을 즉시 적용 가능 source
명령어의 역할source
란?source ~/.zshrc
가 하는 일.zshrc
파일의 내용을 다시 읽어와 현재 셸에 적용 source
와 bash
실행 차이명령어 | 실행 방식 | 새 프로세스 생성 여부 | 환경 변수 적용 범위 |
---|---|---|---|
source ~/.zshrc | 현재 셸에서 실행 | ❌ (새 프로세스 없음) | 현재 셸에 즉시 적용 |
bash ~/.zshrc | 새로운 bash 프로세스에서 실행 | ✅ (새 프로세스 생성) | 실행된 프로세스에만 적용 |
export
export VAR=value
를 사용하면 환경 변수를 설정하여 하위 프로세스에서도 사용 가능 echo $PATH
→ 현재 PATH
변수 값 확인 export PATH="$PATH:/custom/path"
→ 새로운 경로 추가 alias ll='ls -la'
→ ll
입력 시 ls -la
실행 unalias ll
→ ll
alias 삭제 파일 | 실행 시점 | 설명 |
---|---|---|
/etc/zshenv | 모든 zsh 실행 시 | 시스템 전역 환경 변수 설정 |
/etc/zprofile | 로그인 시 | 로그인 셸에서 실행 |
~/.zprofile | 로그인 시 | 사용자별 로그인 설정 |
/etc/zshrc | 모든 인터랙티브 셸 실행 시 | 시스템 전역 설정 |
~/.zshrc | 인터랙티브 셸 실행 시 | 사용자별 환경 설정 |
~/.zlogout | 로그아웃 시 | 셸 종료 시 실행 |
/bin/zsh
(Z Shell)이 실행됨 /etc/zprofile
, ~/.zprofile
실행 /etc/zshrc
, ~/.zshrc
실행