MC, 2025
Ilustracja do artykułu: Cum să creezi un meniu în scripturile Bash: Un ghid simplu și eficient

Cum să creezi un meniu în scripturile Bash: Un ghid simplu și eficient

Scripturile Bash sunt o parte importantă a managementului sistemului în Linux și UNIX, iar învățarea modului de a crea un meniu interactiv poate face ca munca ta cu terminalul să devină mult mai ușoară și mai eficientă. Dacă ai lucrat vreodată cu terminalul, probabil ai avut nevoie de un meniu pentru a selecta opțiuni rapid și pentru a executa comenzi specifice. În acest articol, vom explora cum să creezi un meniu simplu în scripturile Bash, oferindu-ți exemple utile și explicate.

De ce să folosești un meniu în Bash?

Bash este un shell extrem de puternic și versatil, dar uneori, în loc să tastezi o comandă complexă, poate fi mai rapid să alegi dintr-un meniu. Acest lucru este valabil mai ales în cazul scripturilor de automatizare sau al proceselor care necesită mai multe opțiuni, unde utilizatorul trebuie să aleagă între mai multe comenzi. Crearea unui meniu îți poate economisi timp și poate face scripturile mai ușor de utilizat și mai clare.

Pasul 1: Crearea unui meniu simplu

Primul pas în crearea unui meniu într-un script Bash este să îți creezi structura de bază. Vom începe cu un exemplu simplu de meniu care afișează câteva opțiuni și execută o comandă bazată pe alegerea utilizatorului.

#!/bin/bash

echo "Bine ai venit în meniul meu!"
echo "1. Afisează ora curentă"
echo "2. Listează fișierele din directorul curent"
echo "3. Iesire"
echo -n "Alege o opțiune (1/2/3): "
read optiune

if [ "$optiune" -eq 1 ]; then
    date
elif [ "$optiune" -eq 2 ]; then
    ls
elif [ "$optiune" -eq 3 ]; then
    echo "La revedere!"
    exit 0
else
    echo "Opțiune invalidă!"
fi

În acest exemplu, scriptul oferă trei opțiuni utilizatorului: afișarea orei curente, listarea fișierelor din directorul curent și ieșirea din script. Comanda `read` permite utilizatorului să aleagă opțiunea dorită, iar scriptul execută acțiunea corespunzătoare.

Pasul 2: Adăugarea unui ciclu pentru meniuri multiple

De obicei, un meniu Bash este mai util atunci când poți să îl rulezi mai multe ori, fără a fi nevoie să relansezi scriptul. Acesta poate fi realizat prin adăugarea unui ciclu `while`. Iată cum poți face acest lucru:

#!/bin/bash

while true; do
    echo "Meniu principal:"
    echo "1. Afisează ora curentă"
    echo "2. Listează fișierele"
    echo "3. Crează un fișier"
    echo "4. Iesire"
    echo -n "Alege o opțiune (1/2/3/4): "
    read optiune

    case $optiune in
        1) date ;;
        2) ls ;;
        3) 
            echo -n "Introdu numele fișierului: "
            read nume_fisier
            touch $nume_fisier
            echo "Fișierul $nume_fisier a fost creat."
            ;;
        4) 
            echo "La revedere!"
            exit 0
            ;;
        *) 
            echo "Opțiune invalidă!"
            ;;
    esac
done

Aici, folosim un ciclu `while true` care se va repeta până când utilizatorul alege să iasă din script. În plus, am înlocuit instrucțiunea `if` cu un `case`, care face codul mai curat și mai ușor de extins, mai ales când ai mai multe opțiuni.

Pasul 3: Crearea unui meniu cu submeniuri

Uneori este necesar să ai un meniu cu submeniuri pentru a organiza mai bine opțiunile disponibile. În acest caz, vei dori să creezi un meniu principal și submeniuri care să aibă mai multe opțiuni. Uite un exemplu:

#!/bin/bash

while true; do
    echo "Meniu principal:"
    echo "1. Utilitare"
    echo "2. Fișiere"
    echo "3. Ieșire"
    echo -n "Alege o opțiune (1/2/3): "
    read optiune

    case $optiune in
        1)
            echo "Meniu Utilitare:"
            echo "1. Afisează ora curentă"
            echo "2. Listează fișiere"
            echo -n "Alege o opțiune (1/2): "
            read utilitare

            case $utilitare in
                1) date ;;
                2) ls ;;
                *) echo "Opțiune invalidă!" ;;
            esac
            ;;
        2)
            echo "Meniu Fișiere:"
            echo "1. Crează fișier"
            echo "2. Șterge fișier"
            echo -n "Alege o opțiune (1/2): "
            read fisiere

            case $fisiere in
                1) 
                    echo -n "Introdu numele fișierului: "
                    read nume_fisier
                    touch $nume_fisier
                    echo "Fișierul $nume_fisier a fost creat."
                    ;;
                2) 
                    echo -n "Introdu numele fișierului de șters: "
                    read nume_fisier
                    rm $nume_fisier
                    echo "Fișierul $nume_fisier a fost șters."
                    ;;
                *) echo "Opțiune invalidă!" ;;
            esac
            ;;
        3)
            echo "La revedere!"
            exit 0
            ;;
        *)
            echo "Opțiune invalidă!"
            ;;
    esac
done

Acest script adaugă un nivel suplimentar de interactivitate, creând un meniu principal și submeniuri pentru diferite seturi de opțiuni. Utilizatorul poate alege între „Utilitare” și „Fișiere” și, în funcție de alegerea sa, va fi prezentat un submeniu cu mai multe opțiuni. Aceasta face meniul mult mai modular și ușor de extins.

Pasul 4: Îmbunătățirea interfeței cu utilizatorul

Uneori, interfețele de text nu sunt cele mai atractive, dar poți adăuga câteva îmbunătățiri pentru a face meniul mai ușor de utilizat. De exemplu, adăugarea unui mesaj de ajutor sau a unor culori pentru opțiuni poate ajuta utilizatorii să se orienteze mai ușor.

#!/bin/bash

tput setaf 3; echo "Meniu interactiv cu culori!"
tput sgr0
echo "1. Opțiune 1"
echo "2. Opțiune 2"
echo "3. Ieșire"
echo -n "Alege o opțiune: "
read optiune

case $optiune in
    1) echo "Ai ales opțiunea 1" ;;
    2) echo "Ai ales opțiunea 2" ;;
    3) echo "Ieșire..." ;;
    *) echo "Opțiune invalidă" ;;
esac

În acest exemplu, am folosit `tput` pentru a adăuga culoare textului, ceea ce face meniul mai plăcut vizual.

Concluzie

Crearea unui meniu în Bash este o abilitate utilă care îți poate face scripturile mult mai interactive și ușor de utilizat. Poți folosi meniuri pentru a organiza mai multe opțiuni, pentru a interacționa cu utilizatorul și pentru a automatiza diverse sarcini într-un mod eficient. Indiferent dacă vrei să creezi un meniu simplu sau unul mai complex cu submeniuri, scripturile Bash îți oferă flexibilitatea de care ai nevoie pentru a construi soluții personalizate. Acum, este timpul să experimentezi și să îți creezi propriile scripturi cu meniuri interactive!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: