10 gagnleg ráð til að skrifa árangursríkar Bash forskriftir í Linux


kerfisstjórnun til að gera sjálfvirk verkefni, þróa ný einföld tól/tól svo aðeins sé nefnt.

Í þessari grein munum við deila 10 gagnlegum og hagnýtum ráðum til að skrifa áhrifarík og áreiðanleg bash forskriftir og þau innihalda:

1. Notaðu alltaf athugasemdir í forskriftum

Þetta er ráðlögð aðferð sem er ekki aðeins notuð við skeljaforskriftir heldur allar aðrar tegundir forritunar. Að skrifa athugasemdir í handrit hjálpar þér eða öðrum að fara í gegnum handritið þitt að skilja hvað hinir mismunandi hlutar handritsins gera.

Til að byrja með eru athugasemdir skilgreindar með # tákninu.

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

2. Gerðu Script hætta þegar mistakast

Stundum getur bash haldið áfram að keyra skriftu, jafnvel þegar ákveðin skipun mistakast, og hefur þannig áhrif á restina af skriftunni (getur að lokum leitt til rökfræðilegra villna). Notaðu línuna hér að neðan til að hætta í skriftu þegar skipun mistekst:

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

3. Gerðu Script hætta þegar Bash notar ótilgreinda breytu

Bash gæti líka reynt að nota ótilgreint handrit sem gæti valdið rökvillu. Notaðu því eftirfarandi línu til að skipuleggja bash að hætta í skriftu þegar það reynir að nota ótilgreinda breytu:

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

4. Notaðu tvöfaldar gæsalappir til að vísa í breytur

Með því að nota tvöfaldar gæsalappir á meðan verið er að vísa (nota gildi breytu) hjálpar til við að koma í veg fyrir orðaskiptingu (varðandi hvítbil) og óþarfa globbing (þekkja og stækka algildi).

Skoðaðu dæmið hér að neðan:

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

Vistaðu skrána og lokaðu, keyrðu hana síðan á eftirfarandi hátt:

$ ./names.sh

5. Notaðu aðgerðir í Scripts

Að undanskildum mjög litlum forskriftum (með nokkrum línum af kóða), mundu alltaf að nota aðgerðir til að stækka kóðann þinn og gera forskriftir læsilegri og endurnýtanlegri.

Setningafræðin fyrir að skrifa aðgerðir er sem hér segir:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

Fyrir staka línu kóða, notaðu uppsagnarstafi eftir hverja skipun eins og þessa:

check_root(){ command1; command2; }

6. Notaðu = í stað == fyrir strengjasamanburð

Athugaðu að == er samheiti fyrir =, notaðu því aðeins einn = fyrir samanburð á strengjum, til dæmis:

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

7. Notaðu $(skipun) í stað eldri „skipunar“ fyrir skipti

Skipun skipunar kemur í stað skipunar fyrir úttak hennar. Notaðu $ (skipun) í stað gæsalappa \skipun\ fyrir skipanaskipti.

Mælt er með þessu jafnvel með skeljaskoðunartæki (sýnir viðvaranir og tillögur um skeljaforskriftir). Til dæmis:

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

8. Notaðu skrifvarinn til að lýsa yfir statískum breytum

Statísk breyta breytist ekki; Ekki er hægt að breyta gildi þess þegar það hefur verið skilgreint í handriti:

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

9. Notaðu hástafanöfn fyrir ENVIRONMENT breytur og lágstafi fyrir sérsniðnar breytur

Allar bash-umhverfisbreytur eru nefndar með hástöfum, notaðu því lágstafi til að nefna sérsniðnar breytur þínar til að forðast árekstra í breytuheiti:

#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. Framkvæmdu alltaf villuleit fyrir langar forskriftir

Ef þú ert að skrifa bash forskriftir með þúsundum kóðalína getur það orðið martröð að finna villur. Til að laga hlutina auðveldlega áður en þú keyrir handrit skaltu framkvæma smá villuleit. Náðu tökum á þessu ráði með því að lesa í gegnum leiðbeiningarnar sem fylgja hér að neðan:

  1. Hvernig á að virkja Shell Script villuleit í Linux
  2. Hvernig á að framkvæma setningafræðiathugun villuleitarham í skeljaforskriftum
  3. Hvernig á að rekja framkvæmd skipana í Shell Script með Shell Tracing

Það er allt og sumt! Hefur þú einhverjar aðrar bestu bash forskriftaraðferðir til að deila? Ef já, notaðu þá athugasemdareyðublaðið hér að neðan til að gera það.