윈도우 (Windows)는 태생부터 리눅스 (Linux)와 다르다보니, CLI 환경도 리눅스 기반의 OS와는 너무나 다른 환경을 가지고 있습니다. 윈도우에서는 CMD를 사용하고 리눅스에서는 배쉬를 사용하다 보면 여간 헷갈리는게 아닙니다. 그래서 어떻게 하면 좀 더 일관된 환경에서 개발이 가능할까 고민을 해보았습니다.

제가 찾은 해답은 바로 윈도우에서도 배쉬를 이용하는 것이었습니다. 그리고 가장 흔하게 접할 수 있는 배쉬는 깃 (Git)에서 제공하는 깃 배쉬 (깃 배쉬) 였습니다. 그렇다고 마냥 이것만 사용하기에는 인터페이스가 마음에 들지 않으므로, 윈도우즈 터미널 (Windows Terminal)하고 조합을 해 봅니다.

설치

먼저 링크 (바로가기)에서 깃 배쉬를 설치합니다. 그 후에 윈도우즈 터미널을 설치하는데, 이는 윈도우 10부터 사용 가능한 마이크로소포트 스토어에서 다운로드 가능합니다. (바로가기)

뒤쪽에 화려한 애니메이션이 지나갑니다. 우주를 뚫을 기세.

모든 설치가 완료되면 윈도우즈 터미널을 실행합니다. 기본적으로 약간의 투명성이 설정되어 있어서 뒤의 배경이 살짝 비치는 것을 볼 수 있습니다.

기존 CMD 대비 월등한 UI… 네, 윈도우만 써서 이정도로도 감동입니다.

설정

이제, 깃 배쉬를 윈도우즈 터미널에 추가해보도록 하겠습니다. 터미널의 상단 바에서 설정으로 진입합니다. 설정은 별도 화면이 없이, JSON 파일이 그대로 열리게 됩니다.

중간쯤에 위치한 profiles 항목에 다음 JSON을 추가합니다.

{
"acrylicOpacity" : 0.75,
"closeOnExit" : true,
"colorScheme" : "Dracula",
"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 11,
"guid": "{00000000-0000-0000-ba54-000000000002}",
"historySize" : 9001,
"icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name" : "Git Bash",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
"startingDirectory" : "%USERPROFILE%",
"useAcrylic" : true
},
Code language: JSON / JSON with Comments (json)

여기서 guid는 원하는, 그러나 다른 프로필과 겹치지 않는 값을 지정하면 됩니다. colorScheme는 제 취향에 따라서 Dracula 테마로 지정되어 있는데, 테마도 설정 파일의 하단에 있는 schemes에 추가해야 합니다.

{
"name" : "Dracula",
"background" : "#282A36",
"black" : "#21222C",
"blue" : "#BD93F9",
"brightBlack" : "#6272A4",
"brightBlue" : "#D6ACFF",
"brightCyan" : "#A4FFFF",
"brightGreen" : "#69FF94",
"brightPurple" : "#FF92DF",
"brightRed" : "#FF6E6E",
"brightWhite" : "#FFFFFF",
"brightYellow" : "#FFFFA5",
"cyan" : "#8BE9FD",
"foreground" : "#F8F8F2",
"green" : "#50FA7B",
"purple" : "#FF79C6",
"red" : "#FF5555",
"white" : "#F8F8F2",
"yellow" : "#F1FA8C"
},
Code language: JSON / JSON with Comments (json)

그대로 JSON 설정 파일을 저장하면 곧바로 윈도우즈 터미널에 설정이 적용되는 것을 확인할 수 있습니다. 아래와 같이 새로 추가된 깃 배쉬 프로필을 선택하면 정상 동작하는 것을 확인하실 수 있습니다.

리눅스 기본 명령어들이 다수 내장되어 있습니다.

사용

모든 설치와 설정이 완료되었습니다. 간단한 리눅스 명령어 몇 가지를 입력해보시면 예상하는 것처럼 잘 동작하는 것을 확인할 수 있습니다. 이처럼 리눅스에서 사용하던 기본 명령어들을 일관되게 윈도우에서도 사용 가능하게 되었습니다. 그리고 윈도우즈 터미널의 탭 방식 터미널로 복수의 터미널을 손쉽게 관리할 수 있습니다.

물론 100% 호환되지는 않습니다. 프로그램에 따라서 OS 환경을 탐색하는 경우에는 윈도우로 판단되면 윈도우의 Path 포맷을 사용하게 되는데, 이것이 깃 배쉬에서는 인식할 수 없는 경로로 판단할 수 있습니다. 그래도 윈도우 사용자 여러분들이 좀 더 눈호강 하시면서 개발할 수 있기를 바라며 글을 마칩니다.