남들이 안해본것을 해서 궁극적인 지식의 완성을 목표로 하는 블로그입니다.
제품리뷰 , IT, 프로그래밍 관련글을 포스팅합니다.
또한 자기만 읽으려고 만든 정리 노트식의 글들을 싫어합니다. 비전공자나 처음 본 사람도 최대한 이해할 수 있도록 프로그래밍 관련 글들을 쉽게 적으려고 노력하고 있습니다. 보안 계통과 컴퓨터의 Low-Level 한 분야에 관심이 많습니다.
이번엔 특별히 프로젝트를 우분투에서 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로 직접 하는 방법을 찾아볼 정도면 아마 다들 알아서 잘 해결하실거라고 봅니다.
[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로 직접 하는 방법을 찾아볼 정도면 아마 다들 알아서 잘 해결하실거라고 봅니다.
귀찮으면 WSL2 설치한다음에 VIM에 플러그인 깔고 하세요'CS > Linux' 카테고리의 다른 글
COMMENT WRITE