|
Ndërsa ne zakonisht e përdorim atë për operacione administrative ose të menaxhimit të skedarëve, consola de Linux e shtrin funksionalitetin e tij shumë përtej këtij qëllimi, duke na lejuar të programojmë scripts Ky udhëzues nuk synon të jetë një referencë e plotë mbi programimin Bash, por më tepër një hyrje në komandat dhe strukturat themelore, të cilat do të na lejojnë të zgjerojmë fuqinë e sistemit tonë GNU / Linux. |
Çfarë është një "Script"?
Në thelb themi se është një skedar që përmban kod të shkruar në një gjuhë të caktuar programimi që sistemi përdor për një detyrë të caktuar. Nuk ka nevojë të ketë një hyrje të jashtme ose ndërfaqe grafike, por ka nevojë të bëjë që të dhënat e përpunuara të dalin (edhe nëse përdoruesi nuk i sheh ato).
Gjuha e përdorur nga Bash përcaktohet nga interpretuesi i saj dhe ndërthur sintaksën e predhave të tjera, të tilla si Korn Shell (ksh) ose C Shell (csh). Shumë nga komandat që përdoren zakonisht në tastierë mund të përdoren edhe në skripte, përveç atyre që kanë të bëjnë me një shpërndarje të veçantë.
Struktura e një skenari
Për të filluar duhet të kemi një redaktues teksti dhe dëshirë për të programuar. Skedarët që ruajmë me një shtrirje .sh mund të ekzekutohen (ose interpretohen) nga tastiera, për sa kohë që rreshti i parë është si vijon:
#! / bin / bash
Kjo i tregon sistemit që të përdorë konsolën për të ekzekutuar skedarin. Përveç kësaj, karakteri # ju lejon të shkruani komente. Për të krijuar shembullin më të thjeshtë shtojmë edhe një rresht, që shihet në imazhin vijues:
Komanda echo shfaq një mesazh në ekran, në këtë rast tipikun "Përshëndetje botë!" Nëse e ruajmë dhe e ekzekutojmë me tastierë do të shohim rezultatin.
Komandat Themelore
Komandat e mëposhtme janë të zakonshme dhe shumë të dobishme për çdo lloj programi. Ne sqarojmë se ka shumë më tepër, por tani do të mbulojmë sa vijon.
Aliases: lejon që një varg fjalësh të zëvendësohet me një të shkurtër, duke lejuar zvogëlimin e kodit.
#krijoni një pseudonim të thirrur per me adresën e dosjes # Shkarkime alias per = '/ home / user / Shkarkime' # Çdo herë që duam ta përdorim duhet thjesht të thërrasim # fjalën e re për # Për ta shkatërruar atë alias, ne përdorim unalias unalias per
pushim: ju lejon të dilni menjëherë nga një lak, ndërsa, derisa të zgjidhni një lak (ne do të studiojmë sythe në detaje më vonë)
# Krijoni një lak që do të caktojë numrat nga 1 në 5 # për secilin "kthesë të lakut" për numëruesin në 1 2 3 4 5 bëni # Ne shtypim vlerën aktuale të ndryshores # numërues, e cila analizohet nga karakteri $ echo " $ counter ”#Nëse vlera e kundër është e barabartë me 3 nëse [$ counter –eq 3] atëherë # Ndërprerja del nga lakja për break fi bërë
vazhdo - Ngjashëm me ndërprerjen, përveç se ajo injoron lakun aktual dhe shkon te tjetri.
# Krijoni një lak që do të caktojë numrat nga 1 në 5 # për secilin "kthesë të lakut" për numëruesin në 1 2 3 4 5 bëni # Nëse vlera e kundërvënies është e barabartë me 3 nëse [$ counter –eq 3] atëherë # Vazhdoni parandalon që pjesa tjetër e ciklit aktual # të analizohet duke u hedhur në raundin tjetër, domethënë # vlera 3 nuk do të shtypet. vazhdoni jehonën "$ counter" të bërë
deklarojnë: deklaron ndryshoret dhe u cakton atyre vlera, ashtu si tipi (ato funksionojnë në të njëjtën mënyrë). Mund ta kombinojmë me disa opsione: -i deklaron numrat e plotë; -r për ndryshoret vetëm për lexim, vlera e të cilave nuk mund të ndryshohet; –A për vargje ose "vargje"; -f për funksionet; -x për variablat që mund të "eksportohen" jashtë mjedisit të vetë skenarit.
deklaroj –i num = 12 deklaroj –x pi = 3.14
ndihmë: tregon ndihmë për një komandë specifike.
punë: tregon proceset e ekzekutimit.
# Me –c tregojmë emrin e komandave, me –p # pid (id i procesit) të secilit proces. punë-copë
le të: vlerësojë një shprehje aritmetike
le a = 11 le a = a + 5 # Përfundimisht ne shtypim vlerën e a e cila është 16 jehonë "11 + 5 = $ a"
local: krijoni variabla lokalë, të cilët duhet të përdoren mundësisht në funksionet e vetë skriptit për të shmangur gabimet. Ju mund të përdorni të njëjtat funksione si komanda deklaroj.
local v1 = "Kjo është një ndryshore lokale"
logout: lejon daljen plotësisht nga një Shell; e dobishme për rastet kur ne punojmë me më shumë se një dritare shell, në të cilën komanda e daljes do të lejojë që vetëm një dritare të përfundojë në të njëjtën kohë.
printf: ju lejon të shtypni të dhëna dhe t'i formatoni ato. Ka shumë mundësi, kështu që ne do të përmendim disa.
#% f shtyp si një numër lundrues, n për shtypjen e re të # rreshtit "% fn" 5 5.000000 # & d lejon të kalojë numra dhjetorë si argumente printf "Ka% d porosi të vlerësuara në% d dollarë.n" 20 500 Ka 20 porosi me vlerë 500 Dollarë
lexo: lexo një rresht nga hyrja standarde (moduli i përdorur në ngarkimin e të dhënave përmes tastierës për shembull). Ne mund të kalojmë mundësi si: -t për të dhënë një kohë kufiri leximi; -a në mënyrë që secila fjalë të caktohet në një pozicion në grupin aname; -d të përdorë një ndarës që do të shkruhet në fund të rreshtit; ndër të tjera.
echo "Fut emrin tënd dhe shtyp ENTER" #Lexo emrin e ndryshores lexo emrin echo "Emri yt është $ name"
lloji: përshkruan një komandë dhe sjelljen e saj. Mund të jetë e dobishme për të gjetur përkufizimet e të dhënave për secilën komandë.
lloji –a '[' # tipi na tregon se [është një komandë e ndërtuar në Shell [është një e ndërtuar në Shell # -a lejon të gjeni direktoritë që përmbajnë # një të ekzekutueshëm me emrin e shkruar. [është / usr / bin / [
ulimit: kufizon hyrjen dhe përdorimin e burimeve të caktuara të sistemit në procese, ideale për programet që lejojnë ndryshime administrative ose që synojnë lloje të ndryshme të përdoruesve. Kur vendosim një kufi shkruajmë një numër që përfaqëson kilobajt të kufirit.
# Ne shohim kufijtë tanë aktualë të ulimit –a # -f lejon përdoruesit e kufizuar të mos jenë në gjendje të # krijojnë skedarë më të mëdhenj se 512000 Kb (500 #Mb) ulimit –f 512000 # -v kufizon kujtesën virtuale të procesit. ulimit –v 512000
prisni: prisni që një proces ose punë e caktuar të kryhet për të vazhduar.
# Skenari pret që të kryhet procesi i pikës # 2585
prit 2585
Komandat e tjera të dobishme që mund t'u shtojmë skriptave përfaqësohen nga simbolet.
!!: ekzekuto përsëri komandën e fundit
! wer: ekzekuton komandën e fundit që filloi me shprehjen "wer".
'==', '! =', '>', '<', '> =', dhe '<=': operatorët relacionalë.
|: Operatori OR zakonisht përdorte për të bashkuar dy shprehje të rregullta.
: komanda e arratisjes që ju lejon të formatoni shprehjet. Për shembull: a për një alarm zanor, n për linjë të re, b për hapësirë prapa, etj.
