[Linux] VSCODE로 쉘 스크립트 프로그래밍 하기 (Window, Linux 무관)


이번엔 특별히 프로젝트를 우분투에서 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 파일 경로대로 실행해주시면 됩니다.

 

https://git-scm.com/downloads

 

Git - Downloads

Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp

git-scm.com

 

이의 경우엔 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로 직접 하는 방법을 찾아볼 정도면 아마 다들 알아서 잘 해결하실거라고 봅니다.

 

COMMENT WRITE