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:

  1. Kako omogućiti način otklanjanja pogrešaka skripte ljuske u Linuxu
  2. Kako izvršiti način provjere sintaksi za otklanjanje pogrešaka u skriptama ljuske
  3. 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.