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:
- Hvernig á að virkja Shell Script villuleit í Linux
- Hvernig á að framkvæma setningafræðiathugun villuleitarham í skeljaforskriftum
- 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ð.