원래 Macbook Air M1으로 공부하거나 간단한 작업들을 진행해왔는데, 램도 8GB고 디스크도 최소 사이즈여서 최근들어 cursor를 돌리거나 컨테이너를 올리면 힘들어 하는게 눈으로 보여서, HW 스펙이 조금 넉넉한 윈도우 환경에 익숙해지려고 노력하고 있다.
CMD 명령어들을 따로 공부하거나 하는 정도는 아닌..
과정상에 Python으로 간단하게 돌려보고 싶은게 있어서, 가상환경 세팅하는 중에 git bash에서는 리눅스 명령어(bash shell)가 먹지만, conda는 CMD나 전용 프롬프트로 진행하고 있어서, 나름대로 불편하다 생각했다.
사소한 부분이지만 원래 자주 사용하는 명령어들을 alias 걸어두고 사용하는 편인데, 윈도우에서는 .bat 파일 만들고 PATH 경로에도 추가하고 하는 부분이 번거롭게 느껴졌고, 나중에 까먹을거 같아서 적용해보지 않았었다.
git bash에서 conda 명령어까지 한번에 쓸수도 있을 것 같아 간단히 세팅을 확인했다.
본 포스팅에서는 Windows에서 git bash에서 conda 명령어를 사용하는 세팅법을 공유하고, git bash에 대해 찾아본 부분을 같이 작성해보려 한다.
# 세팅법 - conda init bash
환경은 다음과 같다.
- Windows 11
- AMD CPU (5600X)
- conda 24.9.2
- git version 2.36.0.windows.1
세팅법은 매우 간단했는데, ~/.bashrc, ~/.bash_profile을 세팅할 필요 없이 conda 명령어를 실행하면 된다.
conda init bash

위 첨부사진에서 가장 하단에 .bash_profile이 수정된 부분이 핵심이다.
이를 실행하고 git bash을 열어 ~/.bash_profile을 확인해보면 다음과 같이 conda initialize 스크립트가 추가된 것을 확인할 수 있다.
실행 라인 위에 (base)도 확인되는 것을 볼 수 있는데, conda가 잘 동작한다.

이제 윈도우에서도 간단한 작업들은 bash만 사용할 수 있다.
# Git Bash?
지금까진 git bash는 윈도우에서 git을 설치하면 함께 설치되고 리눅스 명령어(bash)를 실행할 수 있는 도구 정도로만 인식하고 있었는데, 어떤 방식으로 윈도우에서 bash 실행을 하는건지 궁금하여 간단하게 찾아봤다.
기본적으로 git bash는 Windows 전용 도구이고, Mac 또는 Linux 환경에선 내장 셸이 있으므로 사용되지 않는다.
Git Bash의 목적은 윈도우에서도 간단한 유닉스 스타일 명령어(ls, cat, grep ...)를 사용할 수 있게 하는 것이다.
실행 방식은 MinGW를 기반으로 Bash 셸과 주요 POSIX 도구들이 이식되어 포함되어 있으며, 가상머신이나 리눅스 커널 없이 Windows 위에서 직접 실행된다.
git을 사용하는 입장에선 간단한 명령어들만 사용하기 위해선 적합한 방법이라 느껴졌다.
~/.bash_profile?
사실 ~/.bashrc 작업을 먼저 진행했었는데, 매번 source 명령어를 사용해야만 alias가 동작하는 것을 확인할 수 있었다.
conda init bash으로 세팅 시, .bashrc 말고 .bash_profile에만 명령어가 추가되었고 git bash 실행 시 자동으로 반영되는데 맥북 환경(zsh)과 어떤 차이가 있는지 궁금해졌다.
Bash는 실행 모드에 따라 읽는 초기화 파일이 다르며, 이로 인해 Git Bash 실행 시 .bashrc의 내용이 바로 적용되지 않았던 것이다.
| Mode | Description | Read File |
| 로그인 셸 | 사용자가 새 터미널 세션을 시작할 때 | .bash_profile, .profile |
| 인터렉티브 셸 | 터미널 안에서 bash 명령으로 셸을 새로 열 때 | .bashrc |
git bash를 기본적으로 로그인 셸 모드로 실행하게 되는데, 이를 git bash을 실행하면 잠깐이나마 확인할 수 있다.

즉, ~/.bash_profile이 실행되고, ~/.bashrc는 기본적으론 함께 실행되지 않는다. (필요 시 별도 호출 필요)
전통적인 Bash 환경에서는 로그인 셸 시 .bash_profile만 실행되고 .bashrc는 별도로 호출해야 하지만, macOS의 zsh는 로그인 셸로 진입하더라도 .zshrc를 자동으로 실행하는 차이가 존재한다.
덕분에 zsh에서는 별다른 추가 설정 없이 .zshrc에만 작성해도 alias나 환경 설정이 잘 반영되는 것을 알 수 있었다.
'Tech > Etc' 카테고리의 다른 글
| CSS Selector & XPath 개념 및 사용법 (7) | 2024.04.12 |
|---|---|
| 네이버 쇼핑 검색 과정 자동화(크롤링) with Selenuim - 2 (3) | 2024.04.10 |
| 네이버 쇼핑 검색 과정 자동화(크롤링) with Selenuim - 1 (47) | 2024.03.03 |