Ako vytvoriť menu v Bash skripte? Jednoduchý návod pre začiatočníkov!
Bash skripty sú skvelým spôsobom, ako automatizovať úlohy a interagovať so systémom v prostredí Linuxu alebo Unixu. Jedným z najzákladnejších, no užitočných spôsobov interakcie so skriptom je vytváranie menu. Ak ste niekedy premýšľali o tom, ako sprístupniť viacero možností používateľovi vo vašom skripte, tento článok vám ukáže, ako jednoducho vytvoriť menu v Bash skripte. Prejdeme cez základné kroky a prinesieme vám konkrétne príklady, aby ste to zvládli rýchlo a efektívne.
Čo je Bash skript?
Bash je jeden z najrozšírenejších shell-ov v systémoch Linux a macOS. Skriptovanie v Bashe umožňuje automatizáciu rutinných úloh, ako je správa súborov, spúšťanie programov alebo interakcia s používateľom. Skript v Bashe je textový súbor, ktorý obsahuje príkazy na vykonanie, ktoré sa spustia v shell prostredí. Tieto skripty môžu byť jednoduché, alebo môžu obsahovať zložité operácie na správu systémov, databáz, alebo aplikácií.
Ako vytvoriť menu v Bash skripte?
Vytvorenie menu v Bash skripte je celkom jednoduché. Používame príkazy ako `echo` na výpis možností a `read` na získanie vstupu od používateľa. Pomocou podmienok `if` alebo `case` môžeme spracovať výber používateľa a vykonať príslušné akcie. Tu je základný príklad toho, ako môže menu vyzerať:
#!/bin/bash
echo "Vyberte možnosť:"
echo "1. Zobraziť dátum"
echo "2. Zobraziť čas"
echo "3. Vypísať aktuálny používateľský adresár"
echo "4. Konec"
read -p "Zadajte číslo možnosti: " volba
if [ "$volba" -eq 1 ]; then
echo "Dnešný dátum je: $(date +%Y-%m-%d)"
elif [ "$volba" -eq 2 ]; then
echo "Aktuálny čas je: $(date +%H:%M:%S)"
elif [ "$volba" -eq 3 ]; then
echo "Aktuálny adresár používateľa: $(pwd)"
elif [ "$volba" -eq 4 ]; then
echo "Koniec skriptu."
exit 0
else
echo "Neplatná voľba. Skúste to znova."
fi
Tento skript zobrazuje menu s rôznymi možnosťami a čaká na vstup používateľa. Na základe výberu sa vykoná rôzna akcia, ako napríklad zobrazenie dátumu, času alebo aktuálneho adresára používateľa. Ak používateľ zadá neplatnú voľbu, skript ho informuje a čaká na ďalší vstup.
Vylepšenie menu s opakovaním
Čo ak by sme chceli, aby menu bežalo opakovane, až kým používateľ nezvolí možnosť na ukončenie? Môžeme použiť slučku `while`, ktorá opakuje zobrazovanie menu, kým používateľ nezvolí možnosť na ukončenie skriptu. Takto to môže vyzerať:
#!/bin/bash
while true; do
echo "Vyberte možnosť:"
echo "1. Zobraziť dátum"
echo "2. Zobraziť čas"
echo "3. Vypísať aktuálny používateľský adresár"
echo "4. Konec"
read -p "Zadajte číslo možnosti: " volba
case "$volba" in
1) echo "Dnešný dátum je: $(date +%Y-%m-%d)";;
2) echo "Aktuálny čas je: $(date +%H:%M:%S)";;
3) echo "Aktuálny adresár používateľa: $(pwd)";;
4) echo "Koniec skriptu."; exit 0;;
*) echo "Neplatná voľba. Skúste to znova.";;
esac
done
V tomto príklade používame slučku `while true`, ktorá zabezpečí, že menu bude zobrazené neustále, až kým používateľ nezadá voľbu č. 4, ktorá skript ukončí.
Príklady na rozšírenie menu
Menu v Bash skripte môže byť oveľa flexibilnejšie a rozšírené o ďalšie možnosti, ako sú napríklad:
- Vykonanie ďalších operácií: Pridajte možnosť spúšťania rôznych skriptov alebo aplikácií priamo zo skriptu.
- Práca s argumentmi: Umožnite používateľovi zadať argumenty, ktoré sa použijú pri vykonávaní akcií.
- Bezpečnostné opatrenia: Implementujte overenie používateľských vstupov, aby ste predišli chybám alebo zneužitiu skriptu.
Príklad s argumentmi
Ďalším vylepšením je možnosť prijať argumenty priamo pri spustení skriptu. Môžeme ich použiť na zjednodušenie menu alebo na rýchle vykonanie určitých akcií bez interakcie s používateľom. Tu je príklad, ako to funguje:
#!/bin/bash
if [ "$1" == "date" ]; then
echo "Dnešný dátum je: $(date +%Y-%m-%d)"
elif [ "$1" == "time" ]; then
echo "Aktuálny čas je: $(date +%H:%M:%S)"
else
echo "Neznámy argument. Používajte 'date' alebo 'time'."
fi
Tento skript prijíma argumenty pri spustení a na základe toho vykonáva rôzne akcie. Ak spustíte skript s argumentom `date`, vypíše dátum. Ak použijete `time`, vypíše čas.
Prispôsobenie vzhľadu menu
Ako každý programátor vie, vzhľad je dôležitý. Môžete upravit výstup menu pomocou farieb, formátovania alebo iných vizuálnych prvkov. Tu je príklad, ako pridať farby do Bash skriptu:
#!/bin/bash echo -e "\033[1;32mVyberte možnosť:\033[0m" echo "1. Zobraziť dátum" echo "2. Zobraziť čas" echo "3. Vypísať aktuálny používateľský adresár" echo "4. Konec"
Tento skript používa ANSI escape kódy na zmenu farby textu. V tomto prípade je text zelený. Týmto spôsobom môžete spríjemniť používateľský zážitok z interakcie so skriptom.
Záver
Vytvorenie menu v Bash skripte je veľmi jednoduchý a efektívny spôsob, ako sprístupniť rôzne možnosti a operácie používateľom. Môžete pridať viacero funkcií, zabezpečiť opakovanie operácií alebo pridať interaktivitu prostredníctvom argumentov a vstupov. Bash skripty sú mocným nástrojom na automatizáciu a interakciu so systémom, a menu je jedným z najjednoduchších spôsobov, ako ich urobiť ešte priateľskejšími a použiteľnejšími.

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