Hvernig á að skrifa og nota sérsniðnar skeljaraðgerðir og bókasöfn
Í Linux hjálpa skeljaforskriftir okkur á svo marga mismunandi vegu, þar á meðal að framkvæma eða jafnvel sjálfvirka ákveðin kerfisstjórnunarverkefni, búa til einföld skipanalínuverkfæri og margt fleira.
Í þessari handbók munum við sýna nýjum Linux notendum hvar á áreiðanlegan hátt á að geyma sérsniðin skeljaforskrift, útskýra hvernig á að skrifa sérsniðnar skeljaaðgerðir og bókasöfn, nota aðgerðir frá bókasöfnum í öðrum forskriftum.
Hvar á að geyma skeljaforskriftir
Til að keyra forskriftirnar þínar án þess að slá inn fulla/algera slóð verða þau að vera geymd í einni af möppunum í PATH umhverfisbreytunni.
Til að athuga PATH þinn, gefur út skipunina hér að neðan:
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Venjulega, ef möppuhólfið er til í heimaskrá notenda, er það sjálfkrafa innifalið í PATH hans/hennar. Þú getur geymt skeljaforskriftirnar þínar hér.
Þess vegna skaltu búa til bin möppuna (sem getur einnig geymt Perl, Awk eða Python forskriftir eða önnur forrit):
$ mkdir ~/bin
Næst skaltu búa til möppu sem heitir lib (stutt fyrir bókasöfn) þar sem þú geymir þín eigin bókasöfn. Þú getur líka geymt bókasöfn fyrir önnur tungumál eins og C, Python og svo framvegis í því. Undir það skaltu búa til aðra möppu sem heitir sh; þetta mun sérstaklega geyma þér skeljasöfn:
$ mkdir -p ~/lib/sh
Búðu til þínar eigin skeljaraðgerðir og bókasöfn
Skeljaaðgerð er hópur skipana sem framkvæma sérstakt verkefni í handriti. Þeir virka á svipaðan hátt og verklagsreglur, undirvenjur og aðgerðir á öðrum forritunarmálum.
Setningafræðin til að skrifa fall er:
function_name() { list of commands }
Til dæmis geturðu skrifað fall í handrit til að sýna dagsetninguna sem hér segir:
showDATE() {date;}
Í hvert skipti sem þú vilt sýna dagsetningu skaltu einfaldlega kalla á aðgerðina hér að ofan með því að nota nafnið:
$ showDATE
Skeljasafn er einfaldlega skeljaforskrift, en þú getur skrifað bókasafn til að geyma aðeins aðgerðir þínar sem þú getur seinna hringt í úr öðrum skeljaforskriftum.
Hér að neðan er dæmi um bókasafn sem heitir libMYFUNCS.sh í ~/lib/sh möppunni minni með fleiri dæmum um aðgerðir:
#!/bin/bash #Function to clearly list directories in PATH showPATH() { oldifs="$IFS" #store old internal field separator IFS=: #specify a new internal field separator for DIR in $PATH ; do echo $DIR ; done IFS="$oldifs" #restore old internal field separator } #Function to show logged user showUSERS() { echo -e “Below are the user logged on the system:\n” w } #Print a user’s details printUSERDETS() { oldifs="$IFS" #store old internal field separator IFS=: #specify a new internal field separator read -p "Enter user name to be searched:" uname #read username echo "" #read and store from a here string values into variables using : as a field delimiter read -r username pass uid gid comments homedir shell <<< "$(cat /etc/passwd | grep "^$uname")" #print out captured values echo -e "Username is : $username\n" echo -e "User's ID : $uid\n" echo -e "User's GID : $gid\n" echo -e "User's Comments : $comments\n" echo -e "User's Home Dir : $homedir\n" echo -e "User's Shell : $shell\n" IFS="$oldifs" #store old internal field separator }
Vistaðu skrána og gerðu handritið keyranlegt.
Hvernig á að kalla fram aðgerðir úr bókasafni
Til að nota aðgerð í lib þarftu fyrst og fremst að hafa lib með í skeljaskriftinni þar sem aðgerðin verður notuð, á formi hér að neðan:
$ ./path/to/lib OR $ source /path/to/lib
Þannig að þú myndir nota aðgerðina printUSERDETS frá lib ~/lib/sh/libMYFUNCS.sh í öðru handriti eins og sýnt er hér að neðan.
Þú þarft ekki að skrifa annan kóða í þetta handrit til að prenta upplýsingar tiltekins notanda, hringdu einfaldlega í núverandi aðgerð.
Opnaðu nýja skrá með nafninu test.sh:
#!/bin/bash #include lib . ~/lib/sh/libMYFUNCS.sh #use function from lib printUSERDETS #exit script exit 0
Vistaðu það, gerðu skriftuna keyranlega og keyrðu það:
$ chmod 755 test.sh $ ./test.sh
Í þessari grein sýndum við þér hvar á að geyma skeljaforskriftir á áreiðanlegan hátt, hvernig á að skrifa eigin skeljaaðgerðir og bókasöfn, kalla fram aðgerðir úr bókasöfnum í venjulegum skeljaforskriftum.
Næst munum við útskýra beina leið til að stilla Vim sem IDE fyrir Bash forskriftir. Þangað til, vertu alltaf tengdur TecMint og deildu einnig hugsunum þínum um þessa handbók í gegnum athugasemdaformið hér að neðan.