dgt_bash03 – Espressioni aritmetiche

Titolo del modulo: dgt_bash03 – Espressioni aritmetiche

Descrizione del modulo:

Il modulo “dgt_bash03 – Espressioni aritmetiche” tratta le espressioni aritmetiche nello scripting Bash. È rivolto a chi lavora con gli script di shell, dai principianti agli utenti esperti, e tratta in dettaglio le operazioni numeriche all’interno degli script.

La teoria spiega come Bash valuta numeri, operatori e precedenze; la pratica si svolge interamente in linguaggio naturale. Dici alla macchina cosa va calcolato (una percentuale, un contatore, un rapporto con decimali) e con quali vincoli, poi leggi l’espressione che ha scelto, controlli se la divisione intera o la precedenza degli operatori potrebbero dare silenziosamente un risultato sbagliato e la metti alla prova con casi limite finché il risultato è corretto.

Obiettivi del modulo:

  • Comprendere le basi delle espressioni aritmetiche in Bash.
  • Conoscere i diversi metodi che Bash offre per dichiarare ed eseguire operazioni aritmetiche, e quando ciascuno è appropriato.
  • Acquisire esperienza pratica chiedendo alla macchina di risolvere calcoli concreti e verificandone gli script.
  • Comprendere le tecniche per gestire calcoli matematici complessi negli script di shell, così da poterle richiedere e riconoscere.
  • Sviluppare la capacità di individuare espressioni aritmetiche inefficienti o errate nel codice generato e spiegare come correggerle.

Argomenti trattati:

  1. Introduzione all’aritmetica in Bash
  2. Perché le operazioni aritmetiche sono essenziali nello scripting.
  3. Sintassi e struttura di base delle espressioni aritmetiche.

  4. Operatori aritmetici in Bash

  5. Analisi dettagliata degli operatori supportati: addizione, sottrazione, moltiplicazione, divisione, modulo, ecc.
  6. Comprendere la precedenza degli operatori e come influisce sui calcoli.

  7. Metodi per eseguire operazioni aritmetiche

  8. Usare il comando let per calcoli semplici.
  9. Impiegare la sintassi a doppie parentesi per espressioni più complesse.
  10. Utilizzare la sintassi $ per la valutazione aritmetica all’interno degli script.
  11. Esplorare approcci alternativi come expr e strumenti esterni, ad es. bc, per operazioni specializzate.

  12. Esempi di dichiarazioni aritmetiche in Bash

  13. Esempi di ciò che la macchina produce per ciascun metodo, che devi saper leggere e verificare:

    • Uso di let:
      bash
      let "a = 5 + 3"
      echo $a
    • Doppie parentesi:
      bash
      b = a * 2
      echo $b
    • Sintassi $ :
      bash
      c=$ b / 4
      echo $c
  14. Tecniche aritmetiche avanzate

  15. Gestire l’aritmetica in virgola mobile.
  16. Integrare strumenti esterni per calcoli complessi.
  17. Gestione degli errori e validazione nelle operazioni aritmetiche.

  18. Best practice e ottimizzazione

  19. Riconoscere codice pulito, leggibile e manutenibile, e richiederlo esplicitamente.
  20. Considerazioni sulle prestazioni dei diversi metodi.
  21. Diagnosticare i problemi più comuni nelle espressioni aritmetiche scritte dalla macchina.

Formato del modulo:

  • Lezioni interattive con dimostrazioni dal vivo di come Bash valuta le espressioni.
  • Laboratori in linguaggio naturale in cui i partecipanti istruiscono la macchina a scrivere e testare script, poi ne revisionano e correggono il lavoro.
  • Esempi reali per illustrare l’applicazione dei concetti appresi.
  • Quiz ed esercitazioni per consolidare l’apprendimento e verificare la comprensione.
  • Una community online per discussioni e troubleshooting continui.

Al termine di questo modulo comprenderai come Bash esegue un’ampia gamma di operazioni aritmetiche e saprai guidare una macchina a usarle in modo corretto ed efficiente. Queste conoscenze si applicano sia all’automazione di attività sia agli script complessi e servono a verificare ciò che la macchina consegna e, quando serve, a correggerlo.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, crea una cartella con il tuo username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy