ShellCheck로 Linux Bash 스크립트를 디버그하는 방법

ShellCheck로 Linux Bash 스크립트를 디버그하는 방법

Linux PC용으로 작성한 Bash 스크립트에 문제가 있습니까? 프로그래밍 도움말을 얻기 위해 StackExchange의 수많은 스레드를 살펴보는 대신 ShellCheck 도구를 사용하여 Linux Bash 스크립트를 디버그하고 코드에서 실수를 자동으로 찾는 것을 고려하십시오.

ShellCheck 가져오기

ShellCheck는 유용한 도구이지만 Linux 운영 체제와 함께 즉시 제공되지는 않습니다. 대신 사용하려면 먼저 설치해야 합니다. 이 튜토리얼에서는 다양한 공식 소프트웨어 소스에서 ShellCheck를 설치하는 방법을 다룰 것입니다. 또한 일반 Linux 바이너리를 통해 프로그램을 작동시키는 방법도 보여줍니다.

터미널 창을 열고 패키지를 업데이트하십시오. 그런 다음 Linux 운영 체제에 해당하는 지침을 따르십시오.

우분투

ShellCheck는 공식 Ubuntu 소프트웨어 소스에 있으므로 설치가 매우 쉽습니다. 터미널에서 Apt 패키지 관리자를 사용하고 최신 버전의 ShellCheck가 작동하도록 합니다.

sudo apt install shellcheck

데비안

Debian Stable에는 사용자가 설치할 수 있는 이전 버전의 ShellCheck가 있습니다. 이 버전은 데비안이 작동하는 방식 때문에 보류된다는 점을 명심하십시오.

참고: ShellCheck 프로그램의 최신 버전을 원하십니까? 가이드를 따라 Debian에서 최신 소프트웨어를 얻는 방법에 대해 알아보세요 .

sudo apt-get install shellcheck

아치 리눅스

Arch Linux에서 ShellCheck를 사용하려면 먼저 "커뮤니티" 소프트웨어 저장소를 활성화해야 합니다. "커뮤니티"를 활성화하려면 Pacman.conf 파일을 편집해야 합니다. 파일을 편집하려면 Nano에서 Pacman.conf를 엽니다.

sudo 나노 /etc/pacman.conf

스크롤하여(화살표 키 사용) 파일의 "커뮤니티" 섹션을 찾습니다. # 기호의 모든 인스턴스를 제거합니다(약 3줄). 그런 다음 Ctrl + O 버튼 을 눌러 편집 내용을 저장 합니다.

Pacman.conf에 대한 새로운 편집이 처리된 상태에서 Ctrl + X 를 눌러 Nano를 닫습니다. 그런 다음 Pacman을 다시 동기화하여 Arch Linux "커뮤니티" 저장소에 대한 액세스를 설정합니다.

sudo pacman - Syyuu

마지막으로 다음을 사용하여 Arch Linux에 ShellCheck를 설치합니다.

sudo pacman -S shellcheck

페도라

Fedora Linux에서 ShellCheck 스크립트 분석 도구를 얻으려면 터미널을 열고 DNF 패키지 관리 도구를 사용하십시오.

sudo dnf install ShellCheck

오픈수세

OpenSUSE에 ShellCheck를 설치하는 것은 배포판의 주요 소프트웨어 소스에 있기 때문에 특별한 단계가 필요하지 않습니다. 그것을 얻으려면 터미널 창에서 다음 Zypper 패키지 명령을 입력하십시오.

sudo zipper 설치 ShellCheck

일반 리눅스

ShellCheck 스크립트 분석 도구에 액세스하려는 덜 알려진 Linux 배포판 사용자는 범용 바이너리 릴리스를 설치해야 합니다. 운 좋게도 이 바이너리 릴리스는 설치하기 쉽고 소스 코드를 수정할 필요가 없습니다. 작동하려면 아래 단계를 따르세요!

1단계:   다운로드하려는 ShellCheck 버전을 터미널 환경으로 내보냅니다.

내보내기 scversion= " 안정 "  # 또는 "v0.4.7" 또는 "최신"

2단계: wget 다운로드 도구를 사용 하여 최신 ShellCheck 바이너리 릴리스를 가져옵니다.

wget " https://storage.googleapis.com/shellcheck/shellcheck- ${scversion} .linux.x86_64.tar.xz "

3단계: tar  명령을 사용하여 ShellCheck TarXZ 아카이브를 추출합니다  .

tar --xz -xvf shellcheck- " ${scversion} " .linux.x86_64.tar.xz

4단계: cp 명령 을 사용하여 Linux PC에 ShellCheck를 설치합니다 .

cp shellcheck- " ${scversion} " /shellcheck /usr/bin/

ShellCheck로 스크립트 디버그

ShellCheck의 주요 목적은 스크립트(보통 Bash)를 살펴보고 오용된 명령을 감지하고 수정 사항을 제공하는 것입니다. 기본적인 사용법은 다음과 같습니다.

먼저 Linux PC에서 확인하려는 스크립트가 있는 CD 로 이동합니다. 이 튜토리얼에서 스크립트는 ~/shell-scripts 에 있습니다. 당신은 다를 수 있습니다.

cd ~/쉘 스크립트

ls 명령을 실행하고 현재 디렉토리의 모든 파일을 봅니다.

참고: 여러 파일 유형이 있는 디렉토리에서 ShellCheck를 사용하려는 경우 grep  과  ls를  함께 결합하는 것이 좋습니다  . 이 두 명령을 함께 사용하면 스크립트가 아닌 모든 파일을 필터링할 수 있습니다.

또는 grep 과 결합하여 스크립트 파일만 봅니다.

엘 | 그렙 ".sh"
엘 | grep ".bash"

ls 프롬프트 에서 스크립트 파일 이름을 찾아 마우스로 파일 이름을 강조 표시합니다. 준비가 되면 ShellCheck를 통해 실행하고 코드를 확인하십시오.

ShellCheck로 Linux Bash 스크립트를 디버그하는 방법

shellcheck 파일 이름.sh

또는

shellcheck 파일 이름.bash

ShellCheck로 Linux Bash 스크립트를 디버그하는 방법

shellcheck 명령이 실행된 직후 코드 문제를 감지하고 터미널 프롬프트에 넣습니다. 읽고 제안하는 내용을 따라 프로그래밍을 개선하는 방법을 배우십시오.

ShellCheck 보고서를 파일로 저장

bash 프로그래밍을 위해 터미널에서 즉각적인 보고서를 얻는 것은 매우 유용하지만 터미널을 닫으면 손실될 수 있습니다. shellcheck 보고서 손실을 피 하려면 터미널 의 >> 기능 과 함께 프로그램을 실행하여 출력을 텍스트 파일로 저장하는 것이 좋습니다 .

shellcheck name-of-file.sh >> ~/Documents/shellcheck-report-name-of-file.sh

또는

shellcheck name-of-file.bash >> ~/Documents/shellcheck-report-name-of-file.bash

cat 명령을 통해 터미널에서 저장된 보고서를 봅니다.

ShellCheck로 Linux Bash 스크립트를 디버그하는 방법

고양이 ~/Documents/shellcheck-report-name-of-file.sh | 더

또는

고양이 ~/Documents/shellcheck-report-name-of-file.bash | 더


Ubuntu 서버에 GitLab을 설치하는 방법

Ubuntu 서버에 GitLab을 설치하는 방법

Ubuntu 서버에서 작동하는 GitLab을 찾고 계십니까? GitLab은 GitHub와 같은 서비스에 대한 강력한 자체 호스팅 가능한 대안입니다. 그것으로 당신은 할 수 있습니다

SELinux로 Ubuntu Linux 서버 보호

SELinux로 Ubuntu Linux 서버 보호

SELinux를 설치하고 활성화하여 Ubuntu Linux 서버에 추가 보안을 추가하는 방법을 알아보십시오.

Cockpit을 ​​사용하여 Linux 서버에서 NFS 구성

Cockpit을 ​​사용하여 Linux 서버에서 NFS 구성

Linux 서버에 NFS 공유를 마운트하는 더 쉬운 방법이 필요하십니까? Cockpit 앱으로 NFS 공유를 마운트하는 방법을 알아보세요.

Ubuntu 22.04 LTS로 업그레이드하는 방법

Ubuntu 22.04 LTS로 업그레이드하는 방법

Ubuntu 22.04 장기 지원이 시작되었습니다! 데스크탑 또는 랩탑을 최신 Ubuntu 릴리스로 업그레이드하는 방법을 알아보세요.

Linux에서 최신 Nvidia GPU 드라이버를 설치하는 방법

Linux에서 최신 Nvidia GPU 드라이버를 설치하는 방법

Linux에 최신 Nvidia GPU 드라이버를 설치하는 방법

Docker 컨테이너로 파일을 전송하는 방법

Docker 컨테이너로 파일을 전송하는 방법

파일을 Docker 컨테이너로 전송해야 합니까? Docker cp 도구를 사용하면 컨테이너 간에 파일을 쉽게 이동할 수 있습니다.

Linux에 DEB 파일을 설치하는 방법

Linux에 DEB 파일을 설치하는 방법

.DEB 파일이란? 그것으로 무엇을 합니까? Linux PC에 DEB 파일을 설치할 수 있는 다양한 방법을 알아보세요.

Linux에서 GOG Galaxy를 작동시키는 방법

Linux에서 GOG Galaxy를 작동시키는 방법

GOG.com에서 게임을 소유하고 계신가요? 일부 비디오 게임을 즐기기 위해 Linux PC에 GOG Galaxy 클라이언트를 설정하고 싶으신가요? 우리가 보여주는 대로 이 가이드를 따르십시오.

CentOS에 Docker 엔진을 설치하는 방법

CentOS에 Docker 엔진을 설치하는 방법

Docker 엔진은 Linux 및 기타 플랫폼을 위한 개방형 컨테이너화 프로그램입니다. Docker 엔진은 다음과 유사하게 작동하는 독립형 컨테이너를 관리합니다.

Ferdi로 모든 채팅을 하나로 통합하는 방법

Ferdi로 모든 채팅을 하나로 통합하는 방법

Linux 시스템에 Slack, Discord 및 기타 여러 생산성 도구를 설치하는 데 지치셨습니까? 그것들이 하나로 결합될 수 있기를 바라는가?