Programazioa bash-n. 1. zatia

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.

Eskerrik asko Juan Carlos Ortiz!

Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

10 iruzkin, utzi zurea

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko.

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.

  1.   Ertaina Zaila esan zuen

    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!

  2.   Erabil dezagun Linux esan zuen

    Ekarpen ona! Primeran!

  3.   Giovanni escobar sosa esan zuen

    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.

  4.   Erabil dezagun Linux esan zuen

    Zita ona! Eskerrik asko!

  5.   Patricio Dorantes Jamarne esan zuen

    : @ "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

  6.   EzBrooklynetik esan zuen

    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

  7.   EzBrooklynetik esan zuen

    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

  8.   Guille esan zuen

    Kasualitatez, unibertsitatean bash script-a erabiltzen ari gara, beraz, datuak 10 dira, oso ondo!

  9.   Alex ikusi nuen esan zuen

    deskargatzeko pdf bertsioa ona litzateke !! 😀

  10.   Marco Antonio De Fuentes esan zuen

    Oso gune ona. Azkenean zerbait erabilgarria aurkitu dut. Eskerrik asko.