bash가 시작될 때 자동으로 읽는 「설정 파일」들.
이름이 비슷해 헷갈리지만 동작 시점이 다릅니다.
역할 분담.
~/.bash_profile (또는 ~/.profile) — 「로그인 셸」 시작 시(SSH 접속·맥 GUI 로그인 등).
~/.bashrc — 「인터랙티브 비로그인 셸」 시작 시(이미 로그인한 상태에서 새 터미널 열기).
흔한 패턴.
보통 ~/.bash_profile 안에 「source ~/.bashrc」 한 줄 적어 두면 둘 다 .bashrc 내용을 사용.
그래서 「설정은 .bashrc에」가 표준.
전역 파일.
/etc/profile — 시스템 전체 로그인 시.
/etc/bash.bashrc(Ubuntu) 또는 /etc/bashrc(RHEL) — 시스템 전체 비로그인 시.
사용자 파일이 없으면 이게 기본 적용.
흔한 내용.
1) export로 환경변수(PATH 추가 등).
2) alias 정의.
3) 함수 정의.
4) 프롬프트 PS1 설정.
5) source ~/.fzf.bash 같은 도구 통합.
변경 후 source ~/.bashrc로 재로드(또는 새 터미널).
한 줄 요약
~/.bash_profile/~/.profile은 로그인 셸용, ~/.bashrc는 비로그인 셸용.
보통 .bash_profile에서 .bashrc를 source하는 패턴.
/etc/* 는 시스템 전역.
PATH·alias·함수가 흔한 내용.
더 알아볼 것
- zsh의 .zshrc·.zprofile 차이
- 로그인 셸 vs 인터랙티브
- direnv — 디렉토리별 환경변수