Come eseguire il debug degli script Linux Bash con ShellCheck

Hai problemi con uno script Bash che hai scritto per il tuo PC Linux ? Invece di esaminare innumerevoli thread su StackExchange per assistenza alla programmazione, prendi in considerazione l'utilizzo dello strumento ShellCheck per eseguire il debug degli script Linux Bash e trovare automaticamente errori nel codice.

Ottieni ShellCheck

ShellCheck è uno strumento utile, ma non viene fornito con il sistema operativo Linux pronto all'uso. Invece, se desideri utilizzarlo, dovrai prima installarlo. In questo tutorial, tratteremo come installare ShellCheck da varie fonti di software ufficiali. Inoltre, ti mostreremo anche come far funzionare il programma tramite il binario generico di Linux.

Apri una finestra di terminale e aggiorna i tuoi pacchetti. Quindi, segui le istruzioni che corrispondono al tuo sistema operativo Linux.

Ubuntu

ShellCheck si trova nei sorgenti software ufficiali di Ubuntu, quindi installarlo è abbastanza semplice. In un terminale, usa il gestore di pacchetti Apt e fai funzionare l'ultima versione di ShellCheck.

sudo apt install shellcheck

Debian

Debian Stable ha una versione precedente di ShellCheck pronta per l'installazione da parte degli utenti. Tieni presente che questa versione è trattenuta a causa del modo in cui Debian fa le cose.

Nota: vuoi una versione più recente del programma ShellCheck? Segui la nostra guida e scopri come ottenere software più moderno su Debian .

sudo apt-get install shellcheck

Arch Linux

Per ottenere ShellCheck su Arch Linux, devi prima abilitare il repository software "Community". L'abilitazione di “Community” richiede la modifica del file Pacman.conf. Per modificare il file, apri Pacman.conf in Nano.

sudo nano /etc/pacman.conf

Scorri (con i tasti freccia) e trova la sezione “Community” del file. Rimuovi tutte le istanze del simbolo # (circa tre righe). Quindi, salvare le modifiche premendo il Ctrl + O pulsante.

Dopo aver curato le nuove modifiche a Pacman.conf, premi Ctrl + X per chiudere Nano. Quindi, risincronizza Pacman per configurare l'accesso al repository "Community" di Arch Linux.

sudo pacman -Syyuu

Infine, installa ShellCheck su Arch Linux con:

sudo pacman -S shellcheck

Fedora

Per ottenere lo strumento di analisi degli script ShellCheck su Fedora Linux, aprire un terminale e utilizzare lo strumento di gestione dei pacchetti DNF.

sudo dnf install ShellCheck

OpenSUSE

L'installazione di ShellCheck su OpenSUSE non richiede passaggi speciali, poiché è nelle principali fonti software della distribuzione. Per ottenerlo, inserisci il seguente comando del pacchetto Zypper in una finestra di terminale.

sudo zypper install ShellCheck

Linux generico

Gli utenti di distribuzioni Linux meno conosciute che desiderano accedere allo strumento di analisi degli script ShellCheck devono installare la versione binaria universale. Fortunatamente, questa versione binaria è facile da installare e non richiede armeggiare con il codice sorgente. Per farlo funzionare, segui i passaggi seguenti!

Passaggio 1:   esporta la versione di ShellCheck che stai per scaricare nell'ambiente del tuo terminale.

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

Passaggio 2: utilizzando lo strumento di download wget , prendi l'ultima versione binaria di ShellCheck.

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

Passaggio 3: estrarre l'archivio ShellCheck TarXZ con il  comando tar  .

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

Passaggio 4: installa ShellCheck sul tuo PC Linux con il comando cp .

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

Debug degli script con ShellCheck

Lo scopo principale di ShellCheck è esaminare uno script (di solito Bash), rilevare comandi utilizzati in modo improprio e apportare correzioni. Per l'utilizzo di base, procedere come segue.

Innanzitutto, CD in cui si trova lo script che desideri controllare sul tuo PC Linux. In questo tutorial, il nostro script è in ~/shell-scripts . Il tuo potrebbe essere diverso.

cd ~/shell-script

Esegui il comando ls e visualizza tutti i file nella directory corrente.

Nota: se intendi utilizzare ShellCheck in una directory con più tipi di file, è una buona idea combinare insieme  grep  e  ls  . L'utilizzo di questi due comandi insieme consente di filtrare tutti i file non di script.

ls

Oppure, combinalo con grep per visualizzare solo i file di script.

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

Trova il nome di un file di script nel prompt ls ed evidenzia il nome del file con il mouse. Quando sei pronto, eseguilo tramite ShellCheck e controlla il tuo codice.

Come eseguire il debug degli script Linux Bash con ShellCheck

shellcheck nome-del-file.sh

o

shellcheck nome-del-file.bash

Come eseguire il debug degli script Linux Bash con ShellCheck

Immediatamente dopo l' esecuzione del comando shellcheck , rileverà problemi con il codice e lo inserirà nel prompt del terminale. Leggi e impara a migliorare la tua programmazione seguendo i suggerimenti che ti dà.

Salva il rapporto ShellCheck in un file

Ottenere un rapporto istantaneo nel terminale per la tua programmazione bash è super utile, tuttavia potresti perderlo se chiudi il terminale. Per evitare di perdere il report di shellcheck, si consiglia di salvare l'output in un file di testo, eseguendo il programma in combinazione con la funzione >> nel terminale.

shellcheck nome-del-file.sh >> ~/Documents/shellcheck-report-nome-del-file.sh

o

shellcheck nome-di-file.bash >> ~/Documents/shellcheck-report-nome-di-file.bash

Visualizza il tuo rapporto salvato nel terminale tramite il comando cat .

Come eseguire il debug degli script Linux Bash con ShellCheck

cat ~/Documents/shellcheck-report-name-of-file.sh | Di più

o

cat ~/Documents/shellcheck-report-name-of-file.bash | Di più

Lascia un commento

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Screen Tearing on Intel Graphics in Pardus Linux: A Result-Focused Guide

Fix Intel graphics screen tearing in Pardus Linux by checking X11 vs. Wayland, compositor settings, refresh rate, active Xorg driver, and TearFree only when appropriate.

Come configurare il firewall di SLES 15 con firewall-cmd

Come configurare il firewall di SLES 15 con firewall-cmd

Configura firewalld su SLES 15: controlla le zone, consenti servizi o porte, salva le regole permanenti, ricarica in modo sicuro e verifica l'accesso.

Guida alla configurazione di SLES Live Patching: applicare gli aggiornamenti del kernel senza riavviare il sistema

Guida alla configurazione di SLES Live Patching: applicare gli aggiornamenti del kernel senza riavviare il sistema

Abilita l'applicazione di patch al kernel in tempo reale su SLES 15 SP7, applica le correzioni supportate senza riavviare, verifica le patch attive e scopri quando è comunque necessario riavviare il kernel.

Come abilitare la modalità FIPS su SUSE Linux Enterprise Server 15

Come abilitare la modalità FIPS su SUSE Linux Enterprise Server 15

Abilita la modalità FIPS su SLES 15 utilizzando l'utility di configurazione supportata da SUSE, riavvia in modo sicuro, verifica lo stato del kernel e delle policy crittografiche e controlla i limiti di certificazione.

Come installare Google Chrome su Gooroom OS senza violare le norme di sicurezza.

Come installare Google Chrome su Gooroom OS senza violare le norme di sicurezza.

Installa Google Chrome su Gooroom OS in modo sicuro con i pacchetti .deb ufficiali, APT, controlli delle policy, guida all'aggiornamento e correzioni per i dispositivi gestiti.

How to Export SLES System Logs to a Remote Syslog Server Securely

How to Export SLES System Logs to a Remote Syslog Server Securely

Securely forward SLES system logs to a remote syslog server with rsyslog, TLS certificates, peer-name verification, queues, validation, and testing.

Integrazione di Active Directory con SSSD in SLES 15: una guida passo passo

Integrazione di Active Directory con SSSD in SLES 15: una guida passo passo

Integra SLES 15 con Active Directory tramite SSSD utilizzando YaST. Prepara DNS e sincronizzazione oraria, configura gli accessi al dominio, verifica Kerberos e confronta SSSD, Winbind e realmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

Fix "Temporary Failure Resolving DNS" in Debian 12 with systemd-resolved

Fix "Temporary Failure Resolving DNS" in Debian 12 with systemd-resolved

Diagnose and fix Debian 12 DNS resolution failures with systemd-resolved, including resolv.conf, NetworkManager, networkd, cache, and verification.

Come installare Pardus Linux in dual boot insieme a Windows 11 in modo sicuro

Come installare Pardus Linux in dual boot insieme a Windows 11 in modo sicuro

Installa Pardus 25.2 accanto a Windows 11 eseguendo un backup, riducendo il volume di Windows, avviando da una chiavetta USB UEFI e proteggendo le partizioni EFI e di ripristino esistenti.