10 korisnih savjeta za pisanje učinkovitih bash skripti u Linuxu
administracija sustava za automatizaciju zadataka, razvijanje novih jednostavnih uslužnih programa/alata da spomenemo samo neke.
U ovom ćemo članku podijeliti 10 korisnih i praktičnih savjeta za pisanje učinkovitih i pouzdanih bash skripti, a oni uključuju:
1. Uvijek koristi komentare u skriptama
Ovo je preporučena praksa koja se ne primjenjuje samo na skriptiranje ljuske već i na sve druge vrste programiranja. Pisanje komentara u skriptu pomaže vama ili nekome drugom tko prolazi kroz vašu skriptu da razumijete što rade različiti dijelovi skripte.
Za početak, komentari se definiraju pomoću znaka #
.
#TecMint is the best site for all kind of Linux articles
2. Napravite izlaz iz skripte kada ne uspije
Ponekad bash može nastaviti izvršavati skriptu čak i kad određena naredba ne uspije, što utječe na ostatak skripte (može na kraju rezultirati logičkim pogreškama). Koristite donji redak za izlaz iz skripte kada naredba ne uspije:
#let script exit if a command fails set -o errexit OR set -e
3. Izvršite skriptu kada Bash koristi neprijavljenu varijablu
Bash također može pokušati upotrijebiti neprijavljenu skriptu koja bi mogla uzrokovati logičku pogrešku. Stoga upotrijebite sljedeći redak kako biste bashu naredili da izađe iz skripte kada pokušava upotrijebiti neprijavljenu varijablu:
#let script exit if an unsed variable is used set -o nounset OR set -u
4. Upotrijebite dvostruke navodnike za referenciranje varijabli
Korištenje dvostrukih navodnika tijekom referenciranja (upotrebom vrijednosti varijable) pomaže u sprječavanju razdvajanja riječi (u vezi s razmakom) i nepotrebnog globanja (prepoznavanje i proširivanje zamjenskih znakova).
Pogledajte primjer u nastavku:
#!/bin/bash #let script exit if a command fails set -o errexit #let script exit if an unsed variable is used set -o nounset echo "Names without double quotes" echo names="Tecmint FOSSMint Linusay" for name in $names; do echo "$name" done echo echo "Names with double quotes" echo for name in "$names"; do echo "$name" done exit 0
Spremite datoteku i izađite, a zatim je pokrenite na sljedeći način:
$ ./names.sh
5. Koristite funkcije u skriptama
Osim vrlo malih skripti (s nekoliko redaka koda), uvijek se sjetite koristiti funkcije za modularizaciju koda i učiniti skripte čitljivijima i ponovnijima.
Sintaksa za pisanje funkcija je sljedeća:
function check_root(){ command1; command2; } OR check_root(){ command1; command2; }
Za jednostruki kod koristite znakove za završetak nakon svake naredbe poput ove:
check_root(){ command1; command2; }
6. Upotrijebite = umjesto == za usporedbu nizova
Imajte na umu da je ==
sinonim za =
, stoga koristite samo jedan =
za usporedbu nizova, na primjer:
value1=”linux-console.net” value2=”fossmint.com” if [ "$value1" = "$value2" ]
7. Upotrijebite $(naredba) umjesto naslijeđene "naredbe" za zamjenu
Zamjena naredbe zamjenjuje naredbu svojim izlazom. Upotrijebite & # 36 (command)
umjesto zamjenskih citata \"command \"
za zamjenu naredbi.
To preporučuje čak i alat za provjeru školjki (prikazuje upozorenja i prijedloge za skripte ljuske). Na primjer:
user=`echo “$UID”` user=$(echo “$UID”)
8. Upotrijebite samo za čitanje da biste deklarirali statičke varijable
Statička varijabla se ne mijenja; njegova vrijednost ne može se mijenjati nakon što je definirana u skripti:
readonly passwd_file=”/etc/passwd” readonly group_file=”/etc/group”
9. Upotrijebite velika slova za varijable OKOLIŠA i mala slova za prilagođene varijable
Sve varijable okruženja bash imenuju se velikim slovima, stoga koristite mala slova za imenovanje svojih prilagođenih varijabli kako biste izbjegli sukobe imena varijabli:
#define custom variables using lowercase and use uppercase for env variables nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl” perl “$nikto_file” -h “$1”
10. Uvijek izvodite pogreške za dugačke skripte
Ako pišete bash skripte s tisućama redaka koda, pronalaženje pogrešaka može postati noćna mora. Da biste lako popravili stvari prije izvođenja skripte, izvedite neke pogreške. Svladajte ovaj savjet čitajući vodiče u nastavku:
- Kako omogućiti način otklanjanja pogrešaka skripte ljuske u Linuxu
- Kako izvršiti način provjere sintaksi za otklanjanje pogrešaka u skriptama ljuske
- Kako pratiti izvršenje naredbi u Shell Script s Shell Tracing
To je sve! Imate li još neke najbolje prakse bash skriptiranja za dijeljenje? Ako je odgovor da, onda za to upotrijebite obrazac za komentar u nastavku.