10 nyttige tips for å skrive effektive bash-skript i Linux


Shell-skripting er den enkleste formen for programmering du kan lære/gjøre i Linux. Mer så er det en nødvendig ferdighet for systemadministrasjon for å automatisere oppgaver, utvikle nye enkle verktøy/verktøy bare for å nevne noen få.

I denne artikkelen vil vi dele 10 nyttige og praktiske tips for å skrive effektive og pålitelige bash-skript, og de inkluderer:

1. Bruk alltid kommentarer i skript

Dette er en anbefalt praksis som ikke bare brukes på shell-scripting, men alle andre typer programmering. Å skrive kommentarer i et manus hjelper deg eller noen andre som går gjennom manuset til å forstå hva de forskjellige delene av manuset gjør.

For det første er kommentarer definert med #-tegnet.

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

2. Lag en skriptavslutning når feiler

Noen ganger kan bash fortsette å kjøre et skript selv når en bestemt kommando mislykkes, og dermed påvirke resten av skriptet (kan til slutt resultere i logiske feil). Bruk linjen nedenfor for å avslutte et skript når en kommando mislykkes:

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

3. Lag en skriptavslutning når Bash bruker uoppgitt variabel

Bash kan også prøve å bruke et uerklært skript som kan forårsake en logisk feil. Bruk derfor følgende linje for å instruere bash om å avslutte et skript når det prøver å bruke en ikke-erklært variabel:

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

4. Bruk doble anførselstegn for å referere til variabler

Å bruke doble anførselstegn mens du refererer (ved å bruke en verdi av en variabel) bidrar til å forhindre orddeling (angående mellomrom) og unødvendig globbing (gjenkjenne og utvide jokertegn).

Sjekk ut eksempelet nedenfor:

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

Lagre filen og avslutt, og kjør den som følger:

./names.sh

5. Bruk funksjoner i Scripts

Med unntak av svært små skript (med noen få linjer med kode), husk alltid å bruke funksjoner for å modularisere koden og gjøre skript mer lesbare og gjenbrukbare.

Syntaksen for å skrive funksjoner er som følger:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

For enkeltlinjekode, bruk avslutningstegn etter hver kommando som dette:

check_root(){ command1; command2; }

6. Bruk=i stedet for == for strengsammenlikninger

Merk at == er et synonym for =, bruk derfor bare en enkelt = for strengsammenligninger, for eksempel:

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

7. Bruk $ (kommando) i stedet for eldre "kommando" for substitusjon

Kommandoerstatning erstatter en kommando med dens utdata. Bruk $ (command) i stedet for backquotes `command` for kommandoerstatning.

Dette anbefales selv av shellcheck-verktøyet (viser advarsler og forslag til shell-skript). For eksempel:

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

8. Bruk skrivebeskyttet for å deklarere statiske variabler

En statisk variabel endres ikke; verdien kan ikke endres når den først er definert i et skript:

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

9. Bruk store bokstaver for MILJØvariabler og små bokstaver for egendefinerte variabler

Alle bash-miljøvariabler er navngitt med store bokstaver, bruk derfor små bokstaver for å navngi de tilpassede variablene dine for å unngå konflikter med variabelnavn:

#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. Utfør alltid feilsøking for lange skript

Hvis du skriver bash-skript med tusenvis av kodelinjer, kan det bli et mareritt å finne feil. For å enkelt fikse ting før du kjører et skript, utfør litt feilsøking. Mestr dette tipset ved å lese gjennom veiledningene nedenfor:

  1. Slik aktiverer du Shell Script Debugging Mode i Linux
  2. Slik utfører du feilsøkingsmodus for syntakskontroll i Shell-skript
  3. Hvordan spore utførelse av kommandoer i Shell Script med Shell Tracing

Det er alt! Har du noen andre beste bash-skriptpraksis å dele? Hvis ja, bruk kommentarskjemaet nedenfor for å gjøre det.