Orokorrean administrazio edo fitxategiak kudeatzeko eragiketetarako erabiltzen dugun bitartean, kontsola de Linux bere funtzionaltasuna helburu horretatik haratago hedatzen du, programatu ahal izateko scripts Gida hau ez da Bash programazioari buruzko erreferentzia osoa izan nahi, oinarrizko komando eta egituren sarrera baizik, gure GNU / Linux sistemaren indarra zabaltzeko aukera emango diguna. |
Zer da "Script" bat?
Funtsean sistemak zeregin jakin baterako erabiltzen duen programazio lengoaia jakin batean idatzitako kodea duen fitxategia dela esaten dugu. Ez du kanpoko sarrera edo interfaze grafikorik izan behar, baina bai prozesatutako datuak irtetea eragin behar du (erabiltzaileak ikusi ez arren).
Bash-ek erabiltzen duen hizkuntza bere interpreteak definitzen du eta beste Shell batzuen sintaxia konbinatzen du, hala nola Korn Shell (ksh) edo C Shell (csh). Kontsolan erabili ohi diren komando asko scriptetan ere erabil daitezke, banaketa zehatz bati zorrotz dagozkionak izan ezik.
Gidoi baten egitura
Hasteko testu editorea eta programatzeko gogoa izan behar dugu. .Sh luzapenarekin gordetzen ditugun fitxategiak kontsolak exekutatu (edo interpretatu) ditzake, betiere lehenengo lerroa honako hau bada:
#! / Bin / bash
Honek sistemari fitxategia exekutatzeko kontsola erabiltzeko esaten dio. Gainera, # karaktereak iruzkinak idazteko aukera ematen du. Adibiderik errazena sortzeko lerro bat gehiago gehitzen dugu, ondoko irudian ikusten dena:
Oihartzun komandoak mezu bat erakusten du pantailan, kasu honetan "Kaixo mundua!" Gorde eta kontsolarekin exekutatzen badugu emaitza ikusiko dugu.
Oinarrizko aginduak
Ondorengo komandoak ohikoak dira eta oso erabilgarriak dira edozein programa motarako. Beste asko daudela argitzen dugu, baina oraingoz honako hau jorratuko dugu.
Ezizenak: hitz kate bat laburrago batekin ordezteko aukera ematen du, kodea murrizteko aukera ematen du.
#create per izeneko alias bat #Downloads karpeta alias per = '/ home / user / Downloads' helbidearen helbidearekin # Erabili nahi dugun bakoitzean # hitz berria deitu behar dugu # Alias hori suntsitzeko, unalias unalias per
break: berehala irteteko aukera ematen du loop bat bitartean, bitartean, arte edo hautatzeko (begiztak xehetasunez aztertuko ditugu gero)
# Sortu 1etik 5era bitarteko zenbakiak esleituko dituen begizta bat # begizta "buelta" bakoitzeko kontagailurako 1 2 3 4 5 egin #Erabiltzen dugu #counter aldagaiaren uneko balioa, $ echo karaktereak aztertzen duena " $ kontagailua ”# Kontagailuaren balioa 3 bada berdina bada [$ kontagailua –eq 3] orduan # Etenaldia bukatutako irtenalditik irteten da
jarraitu - Hausturaren antzekoa, uneko begizta alde batera uzten duela eta hurrengoarenera joatea.
# Sortu 1etik 5era bitarteko zenbakiak esleituko dituen begizta # 1 "2 begizta biraketa" bakoitzeko kontagailurako 3 4 5 3 3 egin #Kontagailuaren balioa 3 bada berdina bada [$ kontagailua -eq XNUMX] orduan # Jarraitu # uneko zikloaren gainerakoa aztertzea eragozten du hurrengo txandara jauzi eginez, hau da, # XNUMX. balioa ez da inprimatuko. jarraitu fi echo "$ counter" eginda
deklaratu: aldagaiak deklaratzen ditu eta balioak esleitzen dizkie, tipo multzoan bezala (modu berean funtzionatzen dute). Aukera batzuekin konbinatu dezakegu: -i zenbaki osoak deklaratzen ditu; -r irakurtzeko soilik diren aldagaientzat, haien balioa ezin baita aldatu; –A matrizeetarako edo "matrizeetarako"; -f funtzioetarako; -x scriptaren ingurunetik kanpo "esportatu" daitezkeen aldagaientzat.
deklaratu –i num = 12 deklaratu –x pi = 3.14
laguntza: komando zehatz baterako laguntza erakusten du.
lanak: martxan dauden prozesuak erakusten ditu.
# -C-rekin komandoen izena erakusten dugu, -p # prozesu bakoitzaren pid (prozesuaren id) batekin. lanpostuak -cp
utzi: adierazpen aritmetikoa ebaluatu
let a = 11 let a = a + 5 #Azkenean a-ren balioa 16 oihartzuna den "11 + 5 = $ a" inprimatzen dugu
lokala: aldagai lokalak sortu, scriptaren funtzioetan erabili behar direnak hobe akatsak ekiditeko. Declare komandoaren funtzio berak erabil ditzakezu.
local v1 = "Aldagai lokala da hau"
saioa amaitu: Shell-etik guztiz ateratzea ahalbidetzen du; erabilgarria Shell leiho bat baino gehiagorekin lan egiten dugun kasuetarako, irteera komandoak aldi berean leiho bakarra amaitzea baimenduko baitu.
printf: datuak inprimatzeko eta formateatzeko aukera ematen du. Aukera asko ditu, beraz, batzuk aipatuko ditugu.
#% f zenbaki mugikor gisa inprimatzen da, n # lerro printf "% fn" 5 5.000000 # & d-k zenbaki hamartarrak pasatzeko aukera ematen du argumentu gisa printf "% d dolarreko balioa duten% d aginduak daude. n" 20 500 20 balio ditu 500 eskaerak Dolar.
irakurri: irakurri lerro bat sarrera estandarretik (adibidez teklatuaren bidez datuak kargatzeko erabiltzen den modulua). Honako aukerak pasa ditzakegu: -t irakurtzeko muga denbora emateko; -a, beraz, hitz bakoitza aname array-ko posizio batera esleitu dadin; -d lerroaren amaieran idatziko den mugatzailea erabiltzeko; besteak beste.
echo "Idatzi zure izena eta sakatu ENTER" #Irakurri aldagaiaren izena irakurri izena echo "Zure izena $ izena da"
mota: komando bat eta haren portaera deskribatzen ditu. Baliagarria izan daiteke komando bakoitzaren datuen definizioak jakiteko.
mota -a '[' #type-k esaten digu [Shell integratutako komandoa da [Shell integratua da # -a-k idatzitako izenarekin # exekutagarri bat duten direktorioak aurkitzeko aukera ematen du. [da / usr / bin / [
ulimit: sistema baliabide batzuen sarbidea eta erabilera prozesuetara mugatzen ditu, aldaketa administratiboak baimentzen dituzten edo erabiltzaile mota ezberdinei zuzendutako programetarako aproposa. Muga bat ezartzerakoan mugaren kilobyte-ak adierazten dituen zenbaki bat idazten dugu.
# Ikusten dugu gure uneko mugak ulimit –a # -f-k erabiltzaileek 512000 Kb (500 #Mb) baino gehiagoko fitxategiak sortzeko gai ez izatera mugatzen du ulimit –f 512000 # -v-k prozesuaren memoria birtuala mugatzen du. ulimit –v 512000
itxaron: itxaron prozesu edo lan jakin bat aurrera jarraitzeko.
#Gidoiak pid # 2585 prozesua gauzatzeko itxaroten du
itxaron 2585
Script-etara gehitu ditzakegun beste komando erabilgarri batzuk sinboloen bidez irudikatzen dira.
!!: exekutatu azken komandoa berriro
! wer: "wer" esamoldearekin hasi zen azken komandoa exekutatzen du.
'==', '! =', '>', '<', '> =' eta '<=': eragile erlazionalak.
|: OR operadorea normalean bi adierazpen erregular elkartzeko erabiltzen da.
: esapideak formateatzea ahalbidetzen duen ihes komandoa. Adibidez: a soinu alertarako, n linea berriarentzat, b atzera egiteko, etab.
10 iruzkin, utzi zurea
Primeran! Dena den, 2 iruzkin: Ubuntu etiketa erdi gehiegi da, generikoa den zerbait orokortzen baitu. Eta tutorial hauek aurrera egiten jarraituz gero, ona litzateke elkarren artean lotuta egotea ...
Gainera, mugimendu hau interesgarria da!
Ekarpen ona! Primeran!
Gaian sakondu nahi dutenentzako erreferentziak bakarrik falta dira. Gure herrialdeetan aurkitzea oso erraza ez den arren
- Linux komandoak, editoreak eta Shell programazioaren gida praktikoa, Mark Sobell (8. kapitulua)
- Pro Bash Programazioa, Chris FA Johnson (nahiz eta hau beste erreferentzia batzuk edo ezagutza apur bat gehiago dutenentzat da).
Artikulu ona.
Zita ona! Eskerrik asko!
: @ "Hasi saioa honela" funtzioak aurreko iruzkina ezabatu zuen, beraz, gehiago laburbilduko dut:
lanpostuak -cp
bash: jobs: -c: aukera baliogabea
jobs: erabilera: jobs [-lnprs] [jobspec ...] edo jobs -x komandoa [args]
-eq -gt -lt-k ez ditu puntu hamartarren aldagaiak onartzen, foroaren eta foroaren artean aurkitu dut bc aliatu ona dela:
[`echo 9.999> 10 | bada bc` -eq 1]; orduan
echo "9.999 10 baino handiagoa da, ziurtatu prozesadoreak oraindik funtzionatzen duela"
bestela
echo «9.999 ez da 10 baino handiagoa, dena normal funtzionatzen du
fi
Mezu honek oso ondo laburbiltzen ditu bash scriptingaren orokortasun guztiak:
http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html
Gune honetan bash berezitasunen inguruko galdera eta erantzun ugari aurkituko dituzu:
http://unix.stackexchange.com/questions/tagged/bash
Hona hemen script oso interesgarriak, eta tira, besteen script-ak irakurrita ikas ditzakezu:
http://snipplr.com/search.php?q=bash&btnsearch=go
Arrazoi duzu esaten duzunarekin, bash izan ezik. Ikusi ditudan sistema guztiek bash dute / bin / bash.
Python, perl, ruby eta abarretarako, oso ondo dago hori erabiltzea. Nik egiten dut
Kasualitatez, unibertsitatean bash script-a erabiltzen ari gara, beraz, datuak 10 dira, oso ondo!
deskargatzeko pdf bertsioa ona litzateke !! 😀
Oso gune ona. Azkenean zerbait erabilgarria aurkitu dut. Eskerrik asko.