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:
- Slik aktiverer du Shell Script Debugging Mode i Linux
- Slik utfører du feilsøkingsmodus for syntakskontroll i Shell-skript
- 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.