10 korisnih savjeta za pisanje učinkovitih Bash skripti u Linuxu


Shell skriptiranje je najlakši oblik programiranja koji možete naučiti/raditi u Linuxu. Štaviše, to je potrebna vještina za sistemsku administraciju za automatizaciju zadataka, razvoj novih jednostavnih uslužnih programa/alata da spomenemo samo neke.

U ovom članku ćemo podijeliti 10 korisnih i praktičnih savjeta za pisanje učinkovitih i pouzdanih bash skripti, a oni uključuju:

1. Uvijek koristite komentare u skriptama

Ovo je preporučena praksa koja se ne primjenjuje samo na shell skriptiranje već i na sve druge vrste programiranja. Pisanje komentara u skripti pomaže vama ili nekom drugom koji prolazi kroz vašu skriptu da shvati šta 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 da izvršava skriptu čak i kada određena komanda ne uspije, što utiče na ostatak skripte (može na kraju dovesti do logičkih grešaka). Koristite liniju ispod da izađete iz skripte kada naredba ne uspije:

#let script exit if a command fails
set -o errexit 
OR
set -e

3. Napravite izlaz iz skripte kada Bash koristi nedeklariranu varijablu

Bash također može pokušati koristiti nedeklariranu skriptu koja bi mogla uzrokovati logičku grešku. Stoga koristite sljedeći red da naložite bash-u da izađe iz skripte kada pokuša koristiti nedeklariranu varijablu:

#let script exit if an unsed variable is used
set -o nounset
OR
set -u

4. Koristite dvostruke navodnike za referencu na varijable

Korištenje dvostrukih navodnika prilikom referenciranja (koristeći vrijednost varijable) pomaže u sprječavanju cijepanja riječi (u pogledu razmaka) i nepotrebnog globiranja (prepoznavanje i proširenje 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

Sačuvajte datoteku i izađite, a zatim je pokrenite na sljedeći način:

./names.sh

5. Koristite funkcije u Skriptama

Osim vrlo malih skripti (sa nekoliko linija koda), uvijek zapamtite da koristite funkcije za modulariziranje vašeg koda i učinite skripte čitljivijim i višekratnim.

Sintaksa za pisanje funkcija je sljedeća:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

Za jednoredni kod, koristite završne znakove nakon svake naredbe ovako:

check_root(){ command1; command2; }

6. Koristite=umjesto == za poređenja nizova

Imajte na umu da je == sinonim za =, stoga koristite samo jedan = za poređenje nizova, na primjer:

value1=”linux-console.net”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]

7. Koristite $ (komanda) umjesto naslijeđene 'naredbe' za zamjenu

Zamjena naredbe zamjenjuje komandu njenim izlazom. Koristite $ (komanda) umjesto navodnika `command` za zamjenu naredbi.

Ovo preporučuje čak i shellcheck alat (pokazuje upozorenja i prijedloge za shell skripte). Na primjer:

user=`echo “$UID”`
user=$(echo “$UID”)

8. Koristite samo za čitanje za deklariranje statičkih varijabli

Statička varijabla se ne mijenja; njegova vrijednost se ne može mijenjati nakon što je definirana u skripti:

readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”

9. Koristite velika slova za varijable OKRUŽENJA i mala slova za prilagođene varijable

Sve varijable okruženja bash imenovane su velikim slovima, stoga koristite mala slova da imenujete svoje prilagođene varijable kako biste izbjegli sukobe imena varijable:

#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 izvršite otklanjanje grešaka za duge skripte

Ako pišete bash skripte sa hiljadama linija koda, pronalaženje grešaka može postati noćna mora. Da biste lako popravili stvari prije izvršavanja skripte, izvršite otklanjanje grešaka. Savladajte ovaj savjet čitajući dolje navedene vodiče:

  1. Kako omogućiti Shell Script mod za otklanjanje grešaka u Linuxu
  2. Kako izvršiti provjeru sintakse u modu za otklanjanje grešaka u shell skriptama
  3. Kako pratiti izvršenje naredbi u Shell skriptu pomoću Shell Tracking

To je sve! Imate li još neke najbolje prakse bash skriptiranja za podijeliti? Ako jeste, onda koristite formular za komentare ispod da to učinite.