이번엔 특별히 프로젝트를 우분투에서 Bash와 쉘 스크립트를 이용해 진행하게 되었습니다. 가장 기본적인 방법으로는 *.sh 포맷으로 파일을 하나 만들어서 쉘 스크립트 문법으로 프로그래밍을 하면 됩니다. 그런데 우분투 안에서 VIM이라던가, Nano 같은걸로 프로그래밍을 하면 일단은 문법 오류 자체가 잡히지가 않아서 별로고.. 특히 띄어쓰기도 하나의 문법인 쉘 스크립트에선 이런 실수가 한번 들어가서 실행이 안되면 어디서 오류가 발생한건지 알 방법이 없어서 정말 골때릴때가 많습니다.
그리고 일반적으로 서버 컴퓨터 아니면 개인용 컴퓨터에서 윈도우 쓰지 게임도 안되는 리눅스를 컴퓨터에 깔아놓을일도 거의 없잖아요..? VMWare를 키고 그 느린 가상 환경에 들어가서 작은 터미널 하나 켜놓고 작업을 하려니 너무 답답하더라구요.
그래서 윈도우, 리눅스 상관없이 Bash Shell 을 사용해서 Vscode로 쉘 스크립트 프로그래밍을 할 방법이 없을까..? 했는데 찾아보니 있더라구요!
우선 제가 리눅스 위에서 돌아가는 VSCode 서버, 제 윈도우 환경에서 둘다 실행해봤는데 어느 환경에서나 상관없이 bash 문법으로 쉘 스크립트를 작성하고 , 실행해볼 수 있습니다. (리눅스 환경에서는 당연히 될 것이라고 예상해볼 수 있지만 윈도우에선 어떻게 이게 가능한지 간략하게 설명을 드리겠습니다.)
확장프로그램 설치
VSCode를 실행해주시고, 아래 확장프로그램을 전부 받아주시면 됩니다.
1. Bash Debug
VSCode에서 Bash 디버깅이 가능하도록 도와주는 녀석입니다.
2. Shell-format
3. ShellCheck
=> 실행전에 쉘 스크립트 문법을 잡아주는 확장 프로그램입니다.
어떤 표현이 효율적인지, 이 표현이 별로라면 잠재적으로 발생할 문제와 해결 방안까지 알려주는 개꿀 확장프로그램 입니다.
4. ShellMan
코드 템플릿을 자동완성으로써 제공합니다.
Bash 문법을 잘 모를때도 굉장히 유용하게 사용할 수 있습니다.
vscode에서 html을 만들때 ! 를 쓰고 엔터를 치면 html 기본 템플릿을 만들어주는데 이런 기능을 쉘 스크립트 문법으로 지원한다고 보시면 됩니다.
설치가 끝났으면 sh 파일 작성하시고 그냥 실행해주시면 됩니다.
리눅스의 경우엔 code runner 같은 extension 을 설치하고 sh를 실행하면 터미널로 바로 실행이 되는데 윈도우에선 'GitBash' 란 것을 이용해서 실행시켜주시면 됩니다.
아마 확장 프로그램 받고 vscode 터미널에서 sh 실행시키면 알아서 git bash를 받아줄건데 vscode에서 sh 실행이 잘 안되거나 git bash를 자동으로 받지 않으면 직접 인터넷에서 gitbash를 다운로드 받고 sh 파일 경로대로 실행해주시면 됩니다.
이의 경우엔 vscode가 실행역할을 하지 않고 문법적인 오류만 잡아주는 역할을 해준다고 보시면 됩니다.
'Git Bash' 란 것이 무엇인지 궁금해하실 수 있는데 쉽게 이야기 해서 윈도우에서 리눅스 명령어를 그대로 실행시켜볼 수 있는 프로그램입니다. 아까도 말했지만 윈도우에서도 리눅스 쉘 스크립트 프로그래밍이 가능한게 이 프로그램이 있어서 가능한 거죠!!
이름이 bash가 붙은걸로 봐선 아마 bash 문법과 거의 동일한 것으로 보입니다. (실제로 써봤을때도 그렇구요)
물론 apt-get 과 같은 패키지 매니저 프로그램은 리눅스 서버에서 관리되는거라 그런지 일단은 없습니다. 그래서 wget 과 같은 프로그램을 받고 싶으면 인터넷에서 직접 wget.exe 를 찾아가서 다운로드 받으신다음에 git bash 경로에 넣어주셔아 git bash가 인식을 하고 사용할 수 있습니다.
추가적으로 주의할 점은 git bash에서 cd(change directory) 명령어를 이용해서 디렉토리를 이동할 때 윈도우에서 경로 구분을 위해 사용하는 역슬래시 기호(\)는 git에서 알아듣지 못합니다. 역슬래시 대신에 정방향 슬래시로 해야 이동이 됩니다. (리눅스에선 역슬래시 기호를 파일명으로 인식합니다.)
ex) C:/ (ok) C:\ (no!!)
또 뭔가 실행할 때 한글이 들어가면 문제가 발생하는 경우가 많으니 경로 문자열에 한글이 포함되지 않게 하시길 바랍니다.
설명이 조금 빈약한 감이 있는데 리눅스 쉘 프로그래밍을 vscode로 직접 하는 방법을 찾아볼 정도면 아마 다들 알아서 잘 해결하실거라고 봅니다.
귀찮으면 WSL2 설치한다음에 VIM에 플러그인 깔고 하세요
'CS > Linux' 카테고리의 다른 글
[Linux] 우분투 터미널 색깔 갑자기 날라갔을때 해결 방법 (0) | 2022.11.06 |
---|---|
[WSL2] network is unreachable 인터넷 안됨 해결하기 (sudo apt-get, wget 등등 안될때) (0) | 2022.10.12 |
[VMware] 가상머신 우분투 환경에서 복사-붙여넣기 쉽게 활성화 하기 (0) | 2022.09.08 |
[Linux] 학습 가이드 (입문 도우미) - 리눅스 OS는 어떻게 배워야 하는가? (0) | 2022.07.18 |
[Linux] 리눅스란 무엇인가? 리눅스 소개 및 개요 (introduction) / GNU, OS, GPL 등등 (0) | 2022.04.01 |