03/28/2024

Cum să depanați scripturile Linux Bash cu ShellCheck

Ai probleme cu un script Bash pe care l-ai scris pentru computerul tău Linux? În loc să căutați prin nenumărate fire de execuție pe StackExchange pentru ajutor de programare, luați în considerare utilizarea instrumentului ShellCheck pentru a depana script-urile Linux Bash și pentru a găsi automat greșelile în codul dvs.

Obțineți ShellCheck

ShellCheck este un instrument util, dar nu vine cu sistemul de operare Linux din cutie. În schimb, dacă doriți să îl utilizați, va trebui să îl instalați mai întâi. În acest tutorial, vom aborda cum să instalați ShellCheck din diverse surse oficiale de software. De asemenea, vă vom arăta și cum să faceți programul să funcționeze prin binarul generic Linux.

Deschideți o fereastră de terminal și actualizați pachetele. Apoi, urmați instrucțiunile care corespund sistemului dvs. de operare Linux.

Ubuntu

ShellCheck se află în sursele oficiale de software Ubuntu, așa că instalarea este destul de ușoară. Într-un terminal, utilizați managerul de pachete Apt și obțineți cea mai recentă versiune a ShellCheck care funcționează.

sudo apt install shellcheck

Debian

Debian Stable are o versiune mai veche a ShellCheck gata pentru instalare de către utilizatori. Rețineți că această versiune este reținută din cauza modului în care Debian face lucrurile.

Notă: doriți o versiune mai nouă a programului ShellCheck? Urmați ghidul nostru și aflați cum să obțineți software mai modern pe Debian.

sudo apt-get install shellcheck

Arch Linux

Pentru a obține ShellCheck pe Arch Linux, mai întâi va trebui să activați depozitul de software „Comunitate”. Activarea „Comunității” necesită editarea fișierului Pacman.conf. Pentru a edita fișierul, deschideți Pacman.conf în Nano.

sudo nano /etc/pacman.conf

Derulați (cu tastele săgeți) și găsiți secțiunea „Comunitate” a fișierului. Eliminați toate aparițiile simbolului # (aproximativ trei linii). Apoi, salvați editările apăsând butonul Ctrl + O.

  Cum se instalează Emby Media Server pe Linux

Cu noile editări aduse Pacman.conf, apăsați Ctrl + X pentru a închide Nano. Apoi, resincronizează Pacman pentru a configura accesul la depozitul „Comunitate” Arch Linux.

sudo pacman -Syyuu

În cele din urmă, instalați ShellCheck pe Arch Linux cu:

sudo pacman -S shellcheck

Fedora

Pentru a obține instrumentul de analiză a scripturilor ShellCheck pe Fedora Linux, deschideți un terminal și utilizați instrumentul de gestionare a pachetelor DNF.

sudo dnf install ShellCheck

OpenSUSE

Instalarea ShellCheck pe OpenSUSE nu necesită pași speciali, deoarece se află în principalele surse de software ale distribuției. Pentru a-l obține, introduceți următoarea comandă a pachetului Zypper într-o fereastră de terminal.

sudo zypper install ShellCheck

Linux generic

Utilizatorii distribuțiilor Linux mai puțin cunoscute care doresc acces la instrumentul de analiză de script ShellCheck trebuie să instaleze versiunea binară universală. Din fericire, această versiune binară este ușor de instalat și nu necesită modificarea codului sursă. Pentru ca acesta să funcționeze, urmați pașii de mai jos!

Pasul 1: exportați versiunea de ShellCheck pe care urmează să o descărcați în mediul terminal.

export scversion="stable" # or "v0.4.7", or "latest"

Pasul 2: folosind instrumentul de descărcare wget, luați cea mai recentă versiune binară ShellCheck.

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

Pasul 3: extrageți arhiva ShellCheck TarXZ cu comanda tar.

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

Pasul 4: instalați ShellCheck pe computerul dvs. Linux cu comanda cp.

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

Depanați scripturile cu ShellCheck

Scopul principal al ShellCheck este de a examina un script (de obicei Bash), de a detecta comenzile utilizate greșit și de a oferi corecții. Pentru utilizarea de bază, procedați după cum urmează.

În primul rând, CD-ul unde se află scriptul pe care doriți să îl verificați pe computerul dvs. Linux. În acest tutorial, scriptul nostru este în ~/shell-scripts. Al tău poate diferi.

cd ~/shell-scripts

Rulați comanda ls și vizualizați toate fișierele din directorul curent.

  Cum să aplicați un patch la un fișier (și să creați patch-uri) în Linux

Notă: dacă intenționați să utilizați ShellCheck într-un director cu mai multe tipuri de fișiere, este o idee bună să combinați grep și ls împreună. Utilizarea acestor două comenzi împreună vă permite să filtrați toate fișierele non-script.

ls

Sau, combinați cu grep pentru a vizualiza numai fișierele script.

ls | grep ".sh"
ls | grep ".bash"

Găsiți numele unui fișier script în promptul ls și evidențiați numele fișierului cu mouse-ul. Când este gata, rulați-l prin ShellCheck și verificați-vă codul.

shellcheck name-of-file.sh

sau

shellcheck name-of-file.bash

Imediat după rularea comenzii shellcheck, va detecta problemele cu codul dvs. și îl va pune în promptul terminalului. Citiți și aflați cum să vă îmbunătățiți programarea urmând sugestiile pe care vi le oferă.

Salvați raportul ShellCheck într-un fișier

Obținerea unui raport instantaneu în terminal pentru programarea bash este foarte utilă, totuși, îl puteți pierde dacă închideți terminalul. Pentru a evita pierderea raportului shellcheck, vă recomandăm să salvați rezultatul într-un fișier text, rulând programul în combinație cu caracteristica >> din terminal.

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

sau

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

Vizualizați raportul salvat în terminal prin comanda cat.

cat ~/Documents/shellcheck-report-name-of-file.sh | more

sau

cat ~/Documents/shellcheck-report-name-of-file.bash | more

x