PowerShell에서 Bash로 전환: WSL 설정 및 Visual Studio Code에서 Azure CLI 실행

발행: (2026년 3월 11일 AM 10:50 GMT+9)
10 분 소요
원문: Dev.to

Source: Dev.to

위에 제공된 링크 외에 번역할 텍스트가 포함되어 있지 않습니다. 번역을 원하는 본문을 알려주시면 한국어로 번역해 드리겠습니다.

왜 Bash로 전환해야 할까?

  • 많은 Azure, DevOps 및 클라우드 튜토리얼이 Bash용으로 작성되어 있습니다.
  • PowerShell과 Bash는 서로 다른 구문 규칙을 가지고 있습니다(예: PowerShell에서는 변수에 $ 사용).
  • 두 셸을 모두 이해하면 “구문 관련” 오류를 피할 수 있고, Linux 중심 문서를 따라가기 쉬워집니다.

1. Windows Subsystem for Linux (WSL) 설치

1.1 PowerShell(관리자)로 빠른 설치

# 관리자 권한으로 PowerShell을 열고 실행:
wsl --install

무엇이 일어나나요?

  • 이 명령은 필요한 Windows 기능(Windows Subsystem for LinuxVirtual Machine Platform)을 활성화합니다.
  • 그런 다음 재시작을 요청합니다.
  • 재부팅 후 wsl --install을 다시 실행하면 기본 Linux 배포판(Ubuntu)이 다운로드 및 설치됩니다.

1.2 수동 기능 활성화(대안)

  1. Win + R을 눌러 optionalfeatures.exe를 입력하고 Enter를 누릅니다.
  2. Windows 기능 켜기/끄기 대화 상자에서 다음을 체크합니다:
    • Windows Subsystem for Linux
    • Virtual Machine Platform
  3. OK지금 다시 시작을 클릭합니다.

재시작 후 관리자 권한 PowerShell을 열고 다음을 실행합니다:

wsl --install

1.3 첫 실행 설정

  • Ubuntu 배포판이 자동으로 다운로드 및 설치됩니다.
  • UNIX 사용자 이름비밀번호를 만들라는 메시지가 표시됩니다.
    • 보안을 위해 비밀번호 문자는 화면에 표시되지 않으니 입력 후 Enter를 누르세요.

이제 wsl을 통해 사용할 수 있는 정상적인 Linux 환경이 준비되었습니다.

2. Visual Studio Code에서 Bash 터미널 열기

  1. VS Code 실행
  2. 상단 메뉴에서 Terminal → New Terminal을 선택합니다.
  3. 터미널 패널에 있는 plus (+) 아이콘 옆의 드롭다운 화살표를 클릭합니다.
  4. Bash 프로필을 선택합니다 (WSL이 설치되어 있으면 자동으로 표시됩니다).

터미널이 PowerShell에서 Bash로 전환되고 다음과 같은 화면이 표시됩니다:

username@DESKTOP:~$

2.1 Bash에서 Windows 폴더로 이동하기

cd /mnt/c/Path/To/Your/Folder
# 예시:
cd "/mnt/c/Users/YourName/Documents/Linux Servers"

Note: Windows 드라이브는 /mnt/<drive-letter>/ 아래에 마운트됩니다.

2.2 Bash 프롬프트 간소화 (선택 사항)

Bash는 기본적으로 전체 경로를 표시합니다. 호스트명과 현재 폴더만 표시하려면 다음을 수행합니다:

# 영구적인 변경을 위해 ~/.bashrc에 이 줄을 추가합니다
echo "PS1='\\h:\\W$ '" >> ~/.bashrc
source ~/.bashrc

변경된 프롬프트:

DESKTOP:Servers$

3. Bash에서 Azure CLI 사용

Bash를 열어두면 PowerShell에서 하듯이 Azure CLI 명령을 실행할 수 있습니다:

# Log in to Azure
az login

# List your subscriptions
az account list --output table

# Create a resource group (example)
az group create --name MyResourceGroup --location eastus

Azure CLI는 크로스‑플랫폼이므로 동일한 명령을 PowerShell과 Bash 모두에서 사용할 수 있습니다.

4. 주요 차이점 요약

기능PowerShellBash (WSL)
변수 접두사$var$var (동일)하지만 배열·해시 구문은 다름
명령 체이닝; 또는 &&; 또는 &&
경로 구분자\ (Windows)/ (Linux)
프롬프트 커스터마이징$PROFILE / $Host.UI.RawUIPS1 변수
VS Code 기본 터미널PowerShellBash (WSL이 설치된 경우)

이러한 차이점을 이해하면 특정 튜토리얼이나 워크플로에 어떤 쉘을 사용할지 결정하는 데 도움이 됩니다.

5. 빠른 참고 명령

TaskPowerShellBash
WSL 설치wsl --install (admin)동일
설치된 배포판 목록wsl -l -v동일
VS Code에서 Bash 열기code . → Terminal → Bash동일
프롬프트 변경N/A (use $PROFILE)PS1='\\h:\\W$ '
Windows 재시작shutdown /r /t 0sudo reboot (inside WSL)

🎉 준비 완료!

이제 다음을 갖추었습니다:

  • WSL이 설치되고 구성되었습니다.
  • Bash가 Visual Studio Code 내 터미널 옵션으로 제공됩니다.
  • Linux‑스타일 환경에서 Azure CLI 명령을 실행할 수 있습니다.

추가 Linux 배포판(wsl --list --online)을 설치하고, Bash 프로필을 커스터마이즈하거나, 이 설정 내에서 다른 DevOps 도구(Docker, Terraform 등)를 통합해 보세요. 즐거운 코딩 되세요!

PowerShell vs Bash 변수 구문

PowerShell과 Bash 사이에서 처음 눈에 띈 차이점 중 하나는 변수 정의 방식입니다.

  • PowerShell – 변수는 $ 기호로 시작해야 합니다.
  • Bash – 변수는 $ 기호 없이 정의합니다; $는 변수 참조 시에만 사용됩니다.

Bash에서 Azure 리소스 그룹 만들기

Azure의 리소스 그룹은 애플리케이션에 대한 관련 리소스(예: 가상 머신, 스토리지 계정, 데이터베이스)를 보관하는 컨테이너입니다.

단계

  1. 변수 정의

    RG="Testing-10-rg"
    LOCATION="eastus"

    또는 라인 연속 문자(\)를 사용하여 함께 정의합니다:

    RG="Testing-10-rg" \
    LOCATION="eastus"
  2. 리소스 그룹 생성

    az group create --name "$RG" --location "$LOCATION"
    • 명령에서 변수를 참조할 때는 $를 앞에 붙여 Bash가 값을 대체하도록 합니다.
    • 출력에서 provisioningState를 확인하여 리소스 그룹이 성공적으로 생성되었는지 확인합니다.
  3. 생성 확인

    az group list --output table
  4. 리소스 그룹 삭제 (선택 사항)

    az group delete --name "$RG"

    Azure가 다음과 같이 물어봅니다:

    Are you sure you want to perform this operation? (y/n)

    확인하려면 y 또는 yes를 입력합니다.

결론

쉘 환경을 전환하는 것은 처음에 혼란스러울 수 있습니다. 특히 작은 구문 차이 때문에 명령이 예상과 다르게 동작할 때 그렇습니다. PowerShell에서 Bash로 이동하면서 다음과 같은 차이를 이해하게 되었습니다:

  • 변수 정의 및 확장
  • 명령 구문
  • 파일 시스템 탐색

**Windows Subsystem for Linux (WSL)**을 설치하고 이를 Visual Studio Code 안에서 사용함으로써 Windows에서 직접 Linux 기반 Bash 환경을 실행하면서 Azure CLI를 통해 Azure 리소스를 관리할 수 있었습니다.

전환 과정에서는 변수 구문과 경로 표기법이 달라지는 등 여러 도전 과제가 있었지만, 여러 터미널 환경을 자유롭게 다룰 수 있게 되었습니다. 이러한 기술은 특히 다음과 같은 작업에 유용합니다:

  • 클라우드 인프라스트럭처
  • Linux 서버
  • 자동화 도구(예: 스크립트, CI/CD 파이프라인)

PowerShell과 Bash 모두를 이해하면 개발자와 클라우드 엔지니어가 다양한 플랫폼에서 더 큰 유연성을 발휘할 수 있습니다.

토론

Azure나 DevOps 도구를 배우고 있다면, PowerShell과 Bash 사이를 전환할 때 가장 혼란스러웠던 점을 자유롭게 공유해주세요!

0 조회
Back to Blog

관련 글

더 보기 »