10 koristnih nasvetov za pisanje učinkovitih skriptov Bash v Linuxu


sistemska administracija za avtomatizacijo opravil, razvoj novih preprostih pripomočkov/orodij, če omenim le nekaj.

V tem članku bomo delili 10 koristnih in praktičnih nasvetov za pisanje učinkovitih in zanesljivih bash skript, ki vključujejo:

1. Vedno uporabljaj komentarje v skriptah

To je priporočena praksa, ki se ne uporablja samo za skriptiranje lupin, ampak tudi za vse druge vrste programiranja. Pisanje komentarjev v skriptu pomaga vam ali komu drugemu, ki gre skozi vaš skript, razumeti, kaj počnejo različni deli skripta.

Za začetek so komentarji definirani z znakom # .

#TecMint is the best site for all kind of Linux articles

2. Izvedite skript, ko ne uspe

Včasih lahko bash še naprej izvaja skript, tudi če določen ukaz ne uspe, kar vpliva na preostali del skripta (sčasoma lahko povzroči logične napake). S spodnjo vrstico zapustite skript, kadar ukaz ne uspe:

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

3. Izvedite skript, ko Bash uporablja neprijavljeno spremenljivko

Bash lahko poskusi uporabiti tudi neprijavljen skript, ki bi lahko povzročil logično napako. Zato uporabite naslednjo vrstico, da bashu naročite, da zapre skript, ko poskuša uporabiti neprijavljeno spremenljivko:

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

4. Za referenčne spremenljivke uporabite dvojne narekovaje

Uporaba dvojnih narekovajev med sklicevanjem (z uporabo vrednosti spremenljivke) pomaga preprečiti deljenje besed (glede presledkov) in nepotrebno globanje (prepoznavanje in razširjanje nadomestnih znakov).

Oglejte si spodnji primer:

#!/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

Shranite datoteko in jo zaprite, nato pa jo zaženite na naslednji način:

$ ./names.sh

5. Uporabite funkcije v Skripti

Razen za zelo majhne skripte (z nekaj vrsticami kode), ne pozabite uporabiti funkcij za moduliranje kode in narediti skripte bolj berljive in za večkratno uporabo.

Sintaksa za funkcije pisanja je naslednja:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

Za enovrstno kodo uporabite zaključne znake za vsakim ukazom, kot je ta:

check_root(){ command1; command2; }

6. Za primerjavo nizov uporabite = namesto ==

Upoštevajte, da je == sinonim za = , zato za primerjavo nizov uporabite samo eno = , na primer:

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

7. Za zamenjavo uporabite $(ukaz) namesto starega 'ukaza'

Zamenjava ukaza nadomesti ukaz z njegovim izhodom. Za zamenjavo ukazov uporabite $ (command) namesto povratnih narekovajev \\ "command \\" .

To priporoča celo orodje za preverjanje lupine (prikazuje opozorila in predloge za skripte lupine). Na primer:

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

8. Za prijavo statičnih spremenljivk uporabite samo za branje

Statična spremenljivka se ne spremeni; njene vrednosti ni mogoče spremeniti, ko je definirana v skriptu:

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

9. Uporabite velika imena za spremenljivke OKOLJA in male črke za spremenljivke po meri

Vse spremenljivke okolja bash so poimenovane z velikimi črkami, zato uporabite male črke za poimenovanje spremenljivk po meri, da se izognete konfliktom imen spremenljivk:

#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. Vedno izvedite odpravljanje napak za dolge skripte

Če pišete bash skripte s tisoč vrsticami kode, lahko iskanje napak postane nočna mora. Če želite stvari enostavno popraviti pred izvajanjem skripta, izvedite nekaj odpravljanja napak. Obvladajte ta nasvet tako, da preberete spodnja navodila:

  1. Kako v Linuxu omogočiti način odpravljanja napak v skriptu lupine
  2. Kako izvesti način odpravljanja napak pri preverjanju sintakse v skriptih lupine
  3. Kako slediti izvrševanju ukazov v skriptu lupine s sledenjem lupine

To je vse! Ali imate še kakšno najboljšo prakso skriptiranja bash? Če je odgovor pritrdilen, uporabite spodnji obrazec za komentar.