Ghidul pentru începători pentru scriptarea pe Linux

La guida per principianti allo scripting su Linux

⌛ Reading Time: 6 minutes

Hai mai desiderato imparare lo “scripting” in Linux? Realizzarli è più facile di quanto potresti pensare. A volte gli script (spesso indicati come shell o script bash) sono programmi reali con codice complicato all’interno. Altre volte sono solo un lungo elenco di attività che gli utenti mettono insieme per rendere le cose fatte sotto Linux più veloci e più facili.

In questo articolo abbiamo deciso di creare una guida rapida che spiega come creare uno script di shell di base sotto Linux. Questo tutorial non ti trasformerà in un file Bash o esperto di scripting. Invece, ti mostrerà quanto è facile iniziare (e le migliori pratiche) a creare script in Linux.

Perché dovresti fare una sceneggiatura?

Fare script in Linux è un’abilità molto utile da avere. Anche se non comprendi appieno Bash, puoi usare la tua conoscenza limitata del terminale per automatizzare e “eseguire in massa” alcune attività, o semplicemente per aprire più applicazioni contemporaneamente.

Ad esempio: forse hai appena creato Arch Linux da zero. Il sistema operativo è installato, insieme a tutti i pacchetti di base, e può essere avviato dal terminale all’avvio del sistema operativo. Arch Linux richiede tempo per essere configurato, quindi il processo non è completato.

È a questo punto che l’utente può scrivere uno script Bash e realizzare tutto in una volta. Niente di tutto questo è programmazione o avanzato per quella materia. Tuttavia, dato che l’utente conosce abbastanza il modo in cui funziona Arch Linux, sarebbe in grado di automatizzare quasi l’intero processo di post-configurazione (ambiente desktop, driver, configurazione utente, ecc.).

L’unico limite al tuo script bash è la tua conoscenza di Linux e Bash! Realizzarli è più facile di quanto potresti pensare.

Per iniziare – Shebangs

Quando si scrive codice, è necessario specificare le cose e caricare le risorse. Quando si scrive con la shell, è necessario specificare anche alcune cose. Nello script bash questo è noto come “shebang”. Le frasi usate negli script dicono allo script con quale interprete deve essere eseguito. Questo potrebbe essere Bash o qualsiasi altro script disponibile nel tuo sistema. Tieni presente che lingue diverse hanno le loro frasi.

Ad esempio: quando si scrive uno script Python, lo shebang sarebbe #!/usr/bin/python, eccetera.

Bash ha molti schemi differenti che possono essere usati, ma la maggior parte degli utenti ha probabilmente visto solo il file #!/bin/bash uno. Come regola generale, usa #!/bin/bash quando si scrive un semplice script e non si prevede di rimuoverlo da Linux. Tutte le moderne distribuzioni Linux sono sulla stessa versione di bash e la shell bash di solito si trova nello stesso posto.

Un altro shebang che si rivela utile è il #!/usr/bin/env bash shebang. Questo è progettato per la portabilità e dovrebbe essere usato se lo script è progettato per essere eseguito su altri sistemi operativi Unix-like (BSD, macOS, ecc.).

Migliori pratiche

Scrivere script in Bash può essere un processo complicato se lo scrittore lo fa in questo modo. Il più delle volte, gli script sono solo una raccolta di operazioni diverse. Spostare un file, scaricare qualcosa, installare programmi e quel genere di cose.

  • Tieni presente che Bash è un linguaggio progettato per manipolare file e processi sul sistema. Se Bash soddisfa le tue esigenze, va bene. Tuttavia, capisci che per la programmazione avanzata, Bash non è davvero la scelta giusta, e sarebbe meglio passare a qualcosa come Python.
  • Rendi i tuoi script compatibili con “SH” e nel formato “.sh” se il piano è di utilizzare gli script su più di una semplice piattaforma Linux. Sebbene altri sistemi operativi simili a UNIX possano avere shell “simili a bash”, alcuni non hanno affatto bash, ed è bene essere preparati per questo.
  • Impara la shell Bash e come funziona. Ti aiuterà a scrivere meglio i tuoi script.
  • Usa sempre uno shebang e, cosa più importante: usa quello giusto. Può fare la differenza tra una buona sceneggiatura e una terribile che non funziona bene.
  • Commenta sempre ogni operazione. In sei mesi potresti tornare al tuo copione e chiederti cosa significhi tutto, quindi è fondamentale che il tuo copione sia ben documentato e facile da capire (per te e per chiunque altro possa vederlo).
  • Rendi il tuo codice leggibile. Anche se la tua sceneggiatura non è complessa, dovrebbe comunque avere senso e realizzarla è più facile di quanto potresti pensare.
  • Verifica la presenza di errori nel tuo script prima di distribuirlo ad altri. Non fare altri bug test per te. Idealmente, gli script dovrebbero funzionare prima di inviarli per essere utilizzati dalle persone.

Fare uno script

Per iniziare a scrivere script, tutto ciò di cui hai bisogno è un editor di testo. Qualsiasi semplice editor di testo va bene, non deve essere complicato o completo. Per questo esempio creeremo un semplice script di aggiornamento di Ubuntu utilizzando Gedit.

Questa prima parte della sceneggiatura è lo shebang, come accennato prima. Ciò consente allo script di dire all’interprete cosa dovrebbe usare per comprendere il codice.

Quindi, scriviamo un commento. Ciò consentirà a chiunque utilizzi lo script di capire cosa deve fare il codice. È possibile aggiungere commenti a uno script inserendo un simbolo “#”. Qualunque cosa dopo non sarà ripresa dalla sceneggiatura.

Ora è il momento di aggiungere il codice allo script. In questo caso stiamo lavorando alla creazione di uno script bash che eseguirà i due comandi di aggiornamento di Ubuntu in successione. Inizia con il comando Aggiorna sorgenti software.

La seconda parte dello script è il file apt upgrade comando. Questo comando consente di installare gli aggiornamenti verificati in precedenza. Aggiungere un -y fino alla fine in modo che lo script non richieda alcuna interazione da parte dell’utente. Ciò consentirà al comando di aggiornarsi da solo.

scripting-linux-creazione-script-con-gedit

Salvare lo script con un’estensione “.sh”. Ad esempio, “myscript.sh”.

Per eseguire lo script, apri un terminale e digita:

Ciò contrassegnerà lo script appena creato come eseguibile. Fare questo per gli script non è sempre necessario, poiché per la maggior parte Bash lo eseguirà comunque. Indipendentemente da ciò, questa è una buona pratica durante lo scripting.

Per eseguire lo script appena creato, eseguire il seguente comando:

scripting-linux-esecuzione-di-uno-script

Estensioni di file

Non c’è differenza nelle estensioni dei file per gli script. Denominare un file con l’estensione “.sh” ha poco effetto sul modo in cui viene eseguito il “programma”. Uno script Bash verrà comunque eseguito senza estensione di file: file di testo vuoti e tutto il resto, purché siano presenti i comandi e gli argomenti corretti.

Anche se la shell Bash ignora le estensioni di file, ciò non significa che lo script writer dovrebbe farlo. Alcuni ambienti desktop che consentono di impostare gli script della shell da eseguire all’avvio dipendono dallo script per avere l’estensione di file “.sh” corretta. Questo aiuta anche per scopi organizzativi.

Alla fine, la maggior parte degli script di shell vengono salvati come file “.sh” per la portabilità. “Sh” non ha nulla a che fare con Bash stesso e lo script può essere eseguito con qualsiasi shell compatibile.

In alternativa, gli script possono essere salvati come .bash, .ksh (Unix korn shell), ecc. Queste estensioni di file sono inferiori e limitano realmente l’utilità di uno script. Ciò è dovuto al fatto che sono progettati solo per le shell che utilizzano tali estensioni.

Risorse del codice

linux-scripting-bash-user-repository

Per chi cerca script Bash utili, controlla il Repository utente Bash su Reddit. È una raccolta di script puliti e utili che possono essere utilizzati e modificati gratuitamente!

Inoltre, coloro che desiderano apprendere la natura avanzata di Bash e programmare con la shell dovrebbero dare un’occhiata Freecode. Il sito web ha un’intera guida alle lezioni che insegna tutto ciò che c’è da sapere sullo scripting Bash avanzato.

Conclusione

Sebbene lo scripting con Bash su Linux non sia una caratteristica unica (anche i Mac hanno bash), tende ad aiutare gli utenti Linux in modo più generale. Considerando che gran parte di Linux può essere realizzata con il terminale, imparare a manipolare la shell è molto utile.

Quali script Bash usi sotto Linux per semplificarti la vita? Dicci di seguito!

Immagine caratteristica: Jm3