카테고리 없음

`.bashrc`와 `.zshrc`의 차이점

leebaro 2024. 7. 1.
728x90

 

 

`.bashrc`와 `.zshrc`는 각각 Bash 셸과 Zsh 셸의 설정 파일로, 두 셸의 동작을 사용자 정의할 수 있는 스크립트를 포함하고 있습니다. 아래는 이들 파일의 주요 차이점과 용도에 대한 설명입니다.

### `.bashrc`

- **셸**: Bash (Bourne Again SHell)
- **위치**: 사용자 홈 디렉토리에 위치 (`~/.bashrc`)
- **실행 시점**: 로그인하지 않는 셸이 시작될 때 실행됩니다. 즉, 터미널 창을 새로 열 때마다 실행됩니다.
- **용도**: 
  - 환경 변수 설정
  - 별칭(alias) 정의
  - 함수 정의
  - 셸 프롬프트 설정
  - 셸 초기화 작업 수행

### `.zshrc`

- **셸**: Zsh (Z shell)
- **위치**: 사용자 홈 디렉토리에 위치 (`~/.zshrc`)
- **실행 시점**: Zsh 셸이 시작될 때마다 실행됩니다. 이는 로그인 셸이든 비로그인 셸이든 모두 포함됩니다.
- **용도**:
  - 환경 변수 설정
  - 별칭(alias) 정의
  - 함수 정의
  - 셸 프롬프트 설정
  - Zsh 고유의 기능 및 플러그인 설정

### 주요 차이점

1. **셸 유형**: 
   - `.bashrc`는 Bash 셸 설정 파일이고, `.zshrc`는 Zsh 셸 설정 파일입니다.
   - macOS Catalina 이후부터 기본 셸은 Bash에서 Zsh로 변경되었습니다.

2. **기능 및 문법**: 
   - Bash와 Zsh는 문법이 매우 유사하지만, Zsh는 더 많은 기능과 확장성을 제공합니다.
   - Zsh는 오토컴플리션, 스펠링 수정, 플러그인 시스템(예: Oh My Zsh) 등 더 많은 고급 기능을 기본으로 지원합니다.

3. **설정 파일 구조**: 
   - 기본적으로 동일한 목적으로 사용되지만, Zsh는 더 복잡한 설정 파일 구조를 가질 수 있으며, Oh My Zsh와 같은 프레임워크를 사용하여 설정을 더 쉽게 관리할 수 있습니다.

### 예제

**.bashrc 예제**:
```bash
# Add user binaries to the path
export PATH="$HOME/bin:$PATH"

# Aliases
alias ll='ls -la'
alias gs='git status'

# Prompt customization
PS1='[\u@\h \W]\$ '
```

**.zshrc 예제**:
```zsh
# Add user binaries to the path
export PATH="$HOME/bin:$PATH"

# Aliases
alias ll='ls -la'
alias gs='git status'

# Oh My Zsh settings
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="agnoster"
plugins=(git)

source $ZSH/oh-my-zsh.sh

# Prompt customization
PROMPT='%n@%m %1~ %# '
```

### 요약

- `.bashrc`와 `.zshrc` 모두 셸의 초기 설정을 구성하는 데 사용됩니다.
- `.bashrc`는 Bash 셸에, `.zshrc`는 Zsh 셸에 사용됩니다.
- 두 파일 모두 환경 변수 설정, 별칭 정의, 프롬프트 설정 등의 목적으로 사용되지만, Zsh의 `.zshrc`는 추가적인 고급 기능을 제공할 수 있습니다.

셸 설정 파일을 수정할 때는 자신이 사용하는 셸에 맞는 파일을 수정해야 합니다. 어떤 셸을 사용하는지 확인하려면 터미널에서 `echo $SHELL` 명령어를 실행하면 됩니다.

728x90