Ehkki me kasutame seda tavaliselt haldus- või failihaldustoiminguteks, on mugavus de Linux laiendab oma funktsionaalsust sellest eesmärgist kaugemale, võimaldades meil programmeerida skripte Selle juhendi eesmärk ei ole olla täielik viide Bashi programmeerimisele, vaid see on põhikäskude ja struktuuride sissejuhatus, mis võimaldab meil laiendada meie GNU / Linuxi süsteemi võimsust. |
Mis on "skript"?
Põhimõtteliselt ütleme, et see on fail, mis sisaldab kindlas programmeerimiskeeles kirjutatud koodi, mida süsteem kasutab teatud ülesande täitmiseks. Sellel ei pea olema välist sisendit ega graafilist liidest, kuid see peab põhjustama töödeldud andmete väljundi (isegi kui kasutaja neid ei näe).
Bashi kasutatav keel on määratletud tema enda tõlgi abil ja ühendab teiste kestade süntaksit, näiteks Korn Shell (ksh) või C Shell (csh). Paljusid konsoolis tavaliselt kasutatavaid käske saab kasutada ka skriptides, välja arvatud need, mis on rangelt seotud konkreetse levitamisega.
Skripti struktuur
Alustuseks peab meil olema tekstiredaktor ja soov programmeerida. Faile, mille me laiendiga .sh salvestame, saab konsool käivitada (või tõlgendada), kui esimene rida on järgmine:
#! / bin / bash
See käsib süsteemil faili käivitamiseks kasutada konsooli. Lisaks võimaldab märk # kirjutada kommentaare. Lihtsaima näite loomiseks lisame veel ühe rea, mida näete järgmisel pildil:
Kaja käsk kuvab ekraanil teate, antud juhul tüüpilise "Tere maailm!" Kui salvestame selle ja täidame selle konsooliga, näeme tulemust.
Põhikäsud
Järgmised käsud on tavalised ja igat tüüpi programmide jaoks väga kasulikud. Selgitame, et neid on palju rohkem, kuid praegu käsitleme järgmist.
Pseudonüümid: võimaldab sõnade stringi asendada lühemaga, võimaldades koodi vähendada.
#create alias nimega alias nimega #Downloads kausta alias per = '/ home / user / Downloads' # Iga kord, kui seda kasutada tahame, peame lihtsalt helistama #sõnale # selle alias hävitamiseks kasuta unalias unalias per
paus: võimaldab teil a-st, samas, kuni või tsüklist kohe väljuda (uurime tsükleid hiljem üksikasjalikult)
#Looge silmus, mis määrab 1 5 1 2 3 loenduri jaoks iga "silmuse pöörde" jaoks numbrid vahemikus 4 kuni 5 # trükime muutuja #counter praeguse väärtuse, mida analüüsib märk $ kaja "$ counter" #Kui loenduri väärtus on võrdne 3-ga, kui [$ counter –eq 3], siis #Paus väljub katkestuse lõpetamisest
jätka - sarnane katkestusega, välja arvatud see, et see ignoreerib praegust silmust ja läheb järgmise juurde.
#Looge silmus, mis määrab 1 5 1 2 3 loenduri jaoks iga "silmuse pöörde" jaoks numbrid 4 kuni 5 # tehke #Kui loenduri väärtus on võrdne 3-ga, kui [$ counter –eq 3], siis #Jätka takistab ülejäänud # praeguse tsükli analüüsimist, hüpates järgmisele ringile, see tähendab, et # väärtus 3 ei prindita. jätka fi echo "$ counter" tehtud
deklareerima: deklareerib muutujad ja määrab neile väärtused, nagu ka komplekt (need töötavad samamoodi). Saame selle kombineerida mõne võimalusega: -i deklareerib täisarvud; -r kirjutuskaitstud muutujate puhul, mille väärtust ei saa muuta; –A massiivide või „massiivide“ jaoks; -f funktsioonide jaoks; -x muutujate jaoks, mida saab "eksportida" väljaspool skripti enda keskkonda.
deklareerima –i num = 12 deklareerima –x pi = 3.14
help: näitab konkreetse käsu abi.
töökohad: näitab jooksvaid protsesse.
# Koos –c näitame käskude nime, kusjuures –p # iga protsessi pid (protsessi ID). töökohad -cp
laskma: hindama aritmeetilist avaldist
las a = 11 las a = a + 5 # Lõpuks printime a väärtuse, mis on 16 kaja "11 + 5 = $ a"
kohalik: looge kohalikud muutujad, mida tuleks vigade vältimiseks eelistatult kasutada skripti enda funktsioonides. Võite kasutada samu funktsioone nagu käsk deklaratsioon.
local v1 = "See on lokaalne muutuja"
väljalogimine: võimaldab täielikult Shellist välja logida; kasulik juhtudel, kui töötame rohkem kui ühe Shelli aknaga, kus käsk exit võimaldab korraga lõpetada ainult ühe akna.
printf: võimaldab teil andmeid printida ja neid vormindada. Sellel on palju võimalusi, nii et mainime mõnda.
#% f prinditakse ujuva arvuna, n uue # rea printf "% fn" 5 5.000000 # & d abil saab kümnendnumbrid edastada argumentidena printf "% d tellimust on hinnatud% d dollarites. n" 20 500 On 20 tellimust, mille väärtus on 500 dollarit.
loe: loe rida standardsisendist (moodul, mida kasutatakse näiteks andmete laadimiseks klaviatuuri kaudu). Me võime edastada selliseid valikuid nagu: -t, et anda lugemisele piirangu aeg; -a nii, et iga sõna määratakse aname massiivi positsioonile; -d kasutada eraldajat, mis kirjutatakse rea lõppu; teiste hulgas.
echo "Sisestage oma nimi ja vajutage sisestusklahvi" #Lugege muutuja nime loetud nimi kaja "Teie nimi on $ nimi"
type: kirjeldab käsku ja selle käitumist. Võib olla kasulik teada saada iga käsu andmemääratlused.
tüüp –a '[' #type ütleb meile, et [on Shelli sisseehitatud käsk [on Shelli sisseehitatud # -a võimaldab leida katalooge, mis sisaldavad # kirjutatava nimega käivitatavat faili. [on / usr / bin / [
ulimit: piirab teatud süsteemiressursside juurdepääsu ja kasutamist protsessidele, mis on ideaalne programmide jaoks, mis võimaldavad haldusmuudatusi või on suunatud erinevat tüüpi kasutajatele. Piirangu seadmisel kirjutame arvu, mis tähistab piiri kilobaiti.
#Me näeme, et meie praegused piirid ulimit –a # -f võimaldab kasutajatel piirduda sellega, et nad ei saa # luua suuremaid kui 512000 Kb (500 # MB) faile ulimit –f 512000 # -v piirab protsessi virtuaalset mälu. ulimit –v 512000
oota: oota, kuni teatud protsess või töö jätkub.
#Skript ootab pid # 2585 protsessi teostamist
oota 2585
Muud kasulikud käsud, mida saame skriptidesse lisada, on tähistatud sümbolitega.
!!: käivitage viimane käsk uuesti
! wer: täidab viimase käsu, mis algas väljendiga “wer”.
'==', '! =', '>', '<', '> =' ja '<=': relatsioonioperaatorid.
|: OR-operaator kasutas tavaliselt kahe regulaaravaldise liitmist.
: escape-käsk, mis võimaldab teil väljendeid vormindada. Näiteks: a helisignaali jaoks, n uue rea jaoks, b tagasilükkekoha jaoks jne.
Suurepärane! Igatahes 2 kommentaari: Ubuntu silti on poole vähem, kuna see üldistab midagi, mis on üldine. Ja kui nende õpetuste edasiarendus jätkub, oleks hea, kui need oleksid omavahel seotud ...
Peale selle on see käik huvitav!
Hea panus! Suurepärane!
Ainult puuduvad viited neile, kes soovivad asjasse rohkem süveneda. Mõned head, kuigi neid pole meie riikides nii lihtne leida
- praktiline juhend Linuxi käskude, redigeerijate ja kestade programmeerimise kohta, Mark Sobell (8. peatükk)
- Pro Bash Programming, Chris FA Johnson (kuigi see on mõeldud neile, kellel on muid viiteid või veidi rohkem teadmisi).
Hea artikkel.
Hea kuupäev! Aitäh!
: @ Funktsioon "Logi sisse kui" kustutas mu eelmise kommentaari, nii et võtan selle veel kokku:
töökohad -cp
bash: töökohad: -c: kehtetu valik
töökohad: kasutus: töökohad [-lnprs] [töökoht ...] või käsk job -x [args]
-eq -gt -lt ei aktsepteeri kümnendmuutujaid, foorumi ja foorumi vahel avastasin, et bc on hea liitlane:
kui ["kaja 9.999> 10 | bc-eq 1]; siis
kaja "9.999 on suurem kui 10, veenduge, et protsessor töötab endiselt"
teine
kaja «9.999 pole suurem kui 10, kõik töötab normaalselt
fi
See postitus võtab väga hästi kokku kõik bashi skriptimise üldised küljed:
http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html
Sellelt saidilt leiate palju küsimusi ja vastuseid põhiliste iseärasuste kohta:
http://unix.stackexchange.com/questions/tagged/bash
Siin on mõned väga lahedad skriptid ja kuule, neid saab õppida teiste skripte lugedes:
http://snipplr.com/search.php?q=bash&btnsearch=go
Sul on õigus oma ütlustega, välja arvatud bash. Igas süsteemis, mida olen näinud, on bash / bin / bash.
Kuid pythoni, perli, rubiini jne jaoks on seda hea kasutada. Ma teen
Juhuslikult kasutame ülikoolis bashi skripte, nii et andmeid on 10, väga hea!
PDF-versioon allalaadimiseks oleks hea! 😀
Väga hea sait. Lõpuks leidsin midagi kasulikku. Aitäh.