~/.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 프로세스에서 실행 | ✅ (새 프로세스 생성) | 실행된 프로세스에만 적용 |
exportexport 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 실행