Bash este limbajul de comandă standard pentru sistemele Unix-like, fiind esențial în ecosistemul DevOps. Deși nu este un limbaj de programare complex precum Python sau Go, stăpânirea lui este obligatorie pentru automatizarea task-urilor repetitive și gestionarea infrastructurii. Fără Bash, interacțiunea directă cu serverele Linux ar fi mult mai lentă și mai puțin eficientă.

Ce trebuie să știi

  • Variabile și Expansiune: Înțelege cum să definești variabile locale și de mediu, precum și modul în care shell-ul interpretează caracterele speciale (ex: $, ", ').
  • Flux de Control: Folosește instrucțiuni condiționale (if/else) și bucle (for, while) pentru a crea scripturi dinamice care răspund la diferite stări ale sistemului.
  • I/O Redirection și Pipes: Stăpânește redirectarea ieșirii standard (>, >>) și intrării standard (<), precum și legarea ieșirii unui proces la intrarea altuia (|) pentru a compune comenzi complexe.
  • Manipularea Fișierelor: Știe cum să verifici existența fișierelor, permisiunile și tipurile de fișiere folosind testele [ ] sau [[ ]].
  • Exit Codes: Înțelege importanța codurilor de returnare non-zero pentru detectarea erorilor și implementarea logicii de fail-fast.
  • Debugging: Folosește flag-ul -x pentru a vedea execuția pas cu pas a scriptului și identifică rapid erorile de sintaxă.

Exemplu: Un script simplu care verifică dacă un director există și îl creează dacă nu:

#!/bin/bash
DIR="/var/log/myapp"

if [ ! -d "$DIR" ]; then
    echo "Directorul nu există. Se creează..."
    mkdir -p "$DIR"
else
    echo "Directorul există deja."
fi

Cum să înveți

  1. Scrie scripturi mici: Automatizează task-uri banale din viața ta, cum ar fi curățarea folderului de download sau backup-ul unor fișiere importante. Practica constantă este cheia.
  2. Citește alte scripturi: Analizează fișierele .sh din proiectele open-source sau configurațiile CI/CD existente pentru a vedea cum rezolvă alții probleme similare.
  3. Testează în siguranță: Rulează scripturile într-un mediu izolat sau folosește set -e pentru a opri execuția la prima eroare, evitând astfel modificări accidentale ale sistemului.

Resurse gratuite

Alte subiecte din „Scripting și un limbaj de programare”