Mi az a Bash Script?

What Is Bash Script



Hallottad már, hogy apád azt mondta, hogy igyál egy pohár vizet? Választhat, hogy nemet mond, de a számítógépeknek nincs erre lehetőségük. A számítógépek pontosan azt fogják tenni, amit te mondanál nekik. A Bash csak egy héj, amely lehetővé teszi a kommunikációt a számítógéppel, és utasításokat adhat arra. A szkript alapvetően csak a számítógép számára adott utasítások halmaza különböző értelmes feladatok végrehajtására. A szkript segít a különböző feladatok automatizálásában a luxus mellett, hogy gyorsabb eredményeket érjen el, mint a normál eljárás. Általában a terminálban ír egy alap vagy haladó bash parancsot, és azonnal végrehajtja. A bash szkriptekben egyszerre több utasítást vagy parancsot adhat, és a számítógép csak akkor hajtja végre mindegyiket, amikor a szkriptet hajtja végre. Dióhéjban egyetlen bash parancs futtatható a terminálon, de több parancs kombinációjának egyszerre történő végrehajtásához létre kell hoznia egy bash parancsfájlt.

Miért hasznos a bash és kinek?

Ha nagyobb irányítást szeretne az operációs rendszer felett, és különböző operációs rendszerrel kapcsolatos feladatokat szeretne végrehajtani, akkor a bash az útja. A bash szerint nem csak a szkriptnyelvre, hanem a Linux operációs rendszerhez tartozó eszközökre is utalunk. A Linux minden egyes eszközének megvan a maga feladata, és mindegyik külön -külön más feladatot lát el. A Bash nagyon hasznos, ha ezeket az eszközöket egyesítenie kell, és össze kell láncolnia őket oly módon, hogy harmóniában dolgozzanak egy olyan feladat végrehajtása érdekében, amelyet egyébként nagyon nehéz megtenni. Például bármi, ami köze van a Linux operációs rendszerhez, más programozási nyelveken is elvégezhető, például Python vagy Perl, de nagyon nehéz különböző operációs rendszerrel kapcsolatos feladatokat elvégezni. A Linux operációs rendszerrel kapcsolatos egyszerű, fekete -fehér és legegyszerűbb módszer a bash használata. Bárki, aki olyan feladatokat szeretne végrehajtani, amelyek magukban foglalják a Linux operációs rendszer eszközeit (például ls, cd, cat, touch, grep, stb.), Nagyon hasznos számára, ha bármilyen más programozási nyelv helyett megtanulja a bash -t.







Miben hasonlít a Bash más programozási nyelvekhez?

Ha a bash-ról beszélünk, akkor tudjuk, hogy a bash nem egy általános célú programozási nyelv, hanem egy parancssori tolmács. A Bash valóban hasznos feladatok végrehajtásához különböző eszközök és folyamatok körül, azzal a képességgel, hogy egyesíti a különböző folyamatokat, és mindegyiket egyetlen cél elérésére készteti. A Bash valóban praktikus a bemenetek és kimenetek kezelésében és kezelésében, ami nagyon nehéz dolog más általános célú programozási nyelveken, mint például a python, C stb. Az adatstruktúrák és az összetett feladatok esetében összetett adatok kezeléseként a bash nem tudja kezelni az ilyen feladatokat, és olyan programozási nyelvek felé kell fordulnunk, mint a Python, a Perl, a C stb. Azonban a bash segítségével futtathatja az eszközöket, vagy egyesítheti ezeket az eszközöket a hatékony működés érdekében. Ez olyan, mint egy rakéta építése, ha figyelembe vesszük ezt a metaforát, a programozási nyelvek segítenek a rakéta felépítésében, míg a bash a rakéta meghajtásában, irányának beállításában és a Holdra vagy a Marsra szállásban.



Hogyan lehet létrehozni és futtatni a Bash Scripteket?

A bash szkript létrehozásához először létre kell hoznia egy szöveges fájlt a .sh kiterjesztéssel a fájlnév végén. A terminál használatával létrehozhatja a bash szkriptfájlt.



$érintésscript.sh


A fenti parancs beírása után nyomja meg az Enter billentyűt, és létrehoz egy bash szkriptfájlt az aktuális munkakönyvtárban. De nem erről van szó, létrehoztuk a szkriptfájlt, de el kell végeznünk bizonyos műveleteket a szkript befejezéséhez és futtatásához. Először nyissa meg a szkriptfájlt egy nano -szerkesztőben vagy geditben, és írja be a legelső sorba:





#!/bin/bash


Ez egy szabványos első sor minden bash szkriptfájlhoz, amely segít abban, hogy bash szkriptként ismerjék fel. Minden olyan szkript, amelynek első sorában nincs #!/Bin/bash, nem tekinthető bash szkriptnek, ezért ügyeljen arra, hogy ezt a sort minden szkript tetejére adja. Miután hozzáadta ezt a sort, most elkezdheti írni a szkriptbe. Például ide írnék egy egyszerű visszhangparancsot:

$kidobtaEz a LinuxHint, a legjobb tanulási platformszámáraBash


Miután megírta ezt a parancsot, most mentheti, és visszatérhet a terminálhoz. Írja be a terminálba:



$ls -hoz


Látható a „script.sh” fehér színnel írva, ami annak a jele, hogy a szkript nem végrehajtható fájl, mivel a végrehajtható fájlok általában zöld színűek. Ezenkívül nézze meg a bal oldalt, ahol olyan mintát láthattunk, mint -rw -r – r–, amely azt tükrözi, hogy a fájl csak olvasható és írható.
Az első rész, amely „rw” -t tartalmaz, valószínűleg az aktuális felhasználó jogosultságai.

Az „r” betűt tartalmazó második rész azon csoport engedélye, amelyben több felhasználónk van.

Míg az „r” betűt tartalmazó harmadik rész a nyilvánosság számára engedélyezett, ami azt jelenti, hogy bárki rendelkezhet ezekkel az engedélyekkel az említett fájlhoz.

Az „r” az olvasási engedélyeket, az „w” az írási engedélyeket, az „x” a végrehajtható engedélyeket jelenti. Nyilvánvaló, hogy nem látunk x -et a „script.sh” ellen. Futtatható jogosultságok hozzáadásához kétféleképpen teheti meg.

1. módszer

Ebben a módszerben írhat egy egyszerű chmod parancsot „+x” -el, és hozzáadja a végrehajtható engedélyeket.

$chmod+ x script.sh


Ez azonban nem a leghatékonyabb módja a végrehajtható engedélyek megadásának, mivel nemcsak a tulajdonosnak, hanem a csoportnak és a nyilvánosságnak is végrehajtható engedélyeket ad, amelyeket biztonsági okokból biztosan nem akarunk. Nézd meg:

2. módszer

Ebben a módszerben számokkal diktálhatja a fájlok engedélyeit. Mielőtt ebbe belevágnánk, szeretnék egy rövid ötletet adni arról, hogy mit jelentenek ezek a számok, és hogyan használhatja őket az engedélyek manipulálására.
olvas = 4
írni = 2
végrehajtás = 1
Az engedélyszámok három számjegyből állnak a chmod parancs után, és minden számjegy a tulajdonos, csoport és mások (nyilvános) jogosultságait jelenti. Például az olvasási, írási és végrehajtási engedélyek megadása a tulajdonosnak, valamint az olvasási engedélyek megadása a csoportnak és másoknak valami ilyesmi:

$chmod 744script.sh


Ha észrevenné, akkor rájönne, hogy olvasó, író és végrehajtó számokat adtunk a tulajdonoshoz az első számjegyhez, mint 4+2+1 = 7, a csoporthoz és másokhoz pedig az olvasás számjegyét azaz 4.

Futtasson egy Bash Script -et

Most végre elérkeztünk egy jelhez, ahol futtathatjuk a bash szkriptet. A bash szkript futtatásához győződjön meg arról, hogy a jelenlegi munkakönyvtárban van, ahol a szkript található. Nem kötelező, de így könnyű, mivel nem kell megírni az egész utat. Ha ezt megtette, most írja be a terminálba ./nameofscript.sh. Esetünkben a szkript neve „script.sh”, ezért ezt írnánk:

$./script.sh

3 Egyszerű példa a Bash Scriptre

Szia LinuxTipp
Először is létrehozzunk egy bash fájlt a jelenlegi munkakönyvtárban:

$nanoF_script.sh


A fájlba a következőt kell írni:

#!/bin/bash
kidobta 'Hello LinuxHint'


Miután megírta, most próbálja meg megnyomni a Ctrl+O billentyűkombinációt a fájlmódosítások írásához, majd ha meg szeretné tartani a nevet ugyanazzal a billentyűvel, akkor módosítsa a nevet, majd nyomja meg az Enter billentyűt. Most nyomja meg a Ctrl+X billentyűkombinációt a nano -szerkesztőből való kilépéshez. Most egy F_script.sh nevű fájlt látna a jelenlegi könyvtárában.
Ennek a fájlnak a futtatásához módosíthatja az engedélyeit, hogy futtatható legyen, vagy írhatja:

$bashF_script.sh


Echo parancs
Amikor az echo parancsról beszélünk, egyszerűen csak azt használják, hogy nagyjából mindent kinyomtasson, amit ki szeretne nyomtatni, amíg az idézőjelek közé van írva. Általában, ha egy visszhang parancsot jelző nélkül futtat, az egy sort hagy, majd kinyomtatja a kimenetet. Például, ha van egy szkriptünk:

#!/bin/bash
kidobta 'Nyomtatás a következő sorra'

A mentés után, ha futtatjuk:

$bashF_script.sh


Ha a „-n” zászlót visszhanggal használjuk, akkor ugyanazon a vonalon nyomtat.

#!/bin/bash
kidobta -n 'Nyomtatás ugyanazon a vonalon'

A mentés után, ha futtatjuk:

$bashF_script.sh


Hasonlóképpen, ha a „ n” vagy a „ t” kifejezést használjuk az idézőjelek között, akkor a nyomtatás úgy történik, ahogy van.

#!/bin/bash
kidobta ' nNyomtassa tovább tugyanazt a sort n'


Ha azonban az „-e” jelzőt használjuk, akkor az egész nem csak elmúlik, hanem a n és a t is alkalmazza, és láthatja az alábbi kimenet változásait:

#!/bin/bash
kidobta -És ' nNyomtassa tovább tugyanazt a sort n'


Megjegyzések a BASH -ban
A megjegyzés egy sor, amely nem számít a számítógép számára. Bármit is ír megjegyzésként, a számítógép semmissé teszi vagy figyelmen kívül hagyja, és egyáltalán nincs hatással az írott kódra. A megjegyzéseket általában hasznos módszernek tartják a programozóknak, hogy megértsék a kód logikáját, így amikor visszatér a kódrészletek átdolgozásához, ezek a megjegyzések emlékeztethetik őt arra a logikára és okokra, amelyek miatt kódot írt út. A megjegyzéseket más programozók is használhatják, akik esetleg módosítani akarják a kódot. Ha írt egy kódrészletet, de nem szeretné eltávolítani, de látni szeretné a kimenetet az adott kódrészlet nélkül, akkor megjegyzést fűzhet az adott kódrészlethez, és végrehajthatja. A program tökéletesen fog futni, jó eredményeket érhet el, miközben az extra kód még mindig jelen van a szkriptben, de a megjegyzések miatt nem hatékony. Amikor újra használni szeretné ezt a kódrészletet, lépjen tovább, és szüntesse meg a megjegyzéseket, és készen áll.
Kétféleképpen írhat megjegyzéseket bash -ban; az egyik módszer egysoros megjegyzések írása, míg a másik módszer többsoros megjegyzések írására szolgál.

Egysoros megjegyzések
Az egysoros megjegyzéseknél a „#” jelet használjuk, amely segít megjegyezni a teljes sort. Bármi, ami a „#” karakterláncra íródik, megjegyzésnek minősül, és nincs valós értéke a szkript végrehajtásakor. Ez az egysoros megjegyzés felhasználható a kód logikájának és megértésének közlésére valakivel, aki hozzáfér a kódhoz.

#!/bin/bash
kidobta -És ' nNyomtassa tovább tugyanazt a sort n'
#Ez a szkript segít a /kombináció /n és /t alkalmazásában



Többsoros megjegyzések
Tegyük fel, hogy száz sort szeretne megjegyezni a forgatókönyvben. Ebben az esetben nehéz lesz az egysoros megjegyzéseket használni. Nem szeretné vesztegetni az idejét arra, hogy minden sorra # -ot írjon. Használhatjuk a „:”, majd a „bármilyen megjegyzést”. Segíthet több sor megjegyzésében, ha csak beír 3 szimbólumot, amelyek hasznosak és hasznosak.

#!/bin/bash ”
: „Ez egy olyan forgatókönyv, amely biztosítja
ez n és t működik és alkalmazásra kerül
ban benúgy, hogy rendelkezzünk a szükséges kimenettel ”
kidobta -És ' nNyomtassa tovább tugyanazt a sort n'



Tekintsen meg 30 példát a Bash szkriptekre a Linuxhint.com webhelyen:

30 Bash Script példa

6 A Bash Scripting legfontosabb tanulságai

1. Feltételes nyilatkozat
A feltételes nyilatkozat nagyon hasznos eszköz a döntéshozatalban. Széles körben használják a programozási nyelvekben. Gyakrabban bizonyos feltételek alapján kell döntéseket hoznunk. A feltételes nyilatkozat értékeli az adott feltételt és meghozza a döntést. A bash -ban a feltételes utasítást is használjuk, mint bármely más programozási nyelvet. A feltételes utasítás bash -ban történő használatának szintaxisa kissé eltér a többi programozási nyelvtől. Az if feltétel a leggyakrabban használt feltételes utasítás a bash és más általános célú programozási nyelveken. Az if feltétel értékeli az adott feltételt és meghozza a döntést. Az adott feltételt teszt kifejezésnek is nevezik. Számos módja van az if feltétel használatának a bash -ban. Az if feltételt más blokkkal használják. Abban az esetben, ha az adott feltétel igaz, akkor az if blokkon belüli utasításokat hajtják végre, ellenkező esetben az else blokk kerül végrehajtásra. A Bash -ben az if feltétel utasítás többféle módon használható:

  1. Az if állítás
  2. Az if else kijelentés
  3. A beágyazott if utasítás
  4. Az if elif kijelentése

Az if állítás
Az if utasítás csak az adott feltételt értékeli, ha az adott feltétel igaz, akkor az if mondaton belüli utasításokat vagy parancsokat hajtják végre, ellenkező esetben a program leáll. A bash -ban, ha a feltétel az if kulcsszóval kezdődik, és a fi kulcsszóval végződik. Az ezután kulcsszóval definiálhatóak azok az utasítások vagy parancsok, amelyek akkor teljesülnek, ha egy bizonyos feltétel igaz. Nyilvánítsunk egy változót, és az if feltétel segítségével értékeljük a változó értékét, függetlenül attól, hogy 10 -nél nagyobb -e vagy sem. A -gt a nagyobbnál nagyobb feltétel értékelésére szolgál, míg a -lt a kisebbnél kisebb feltétel értékelésére szolgál.

#!/bin/bash
AHOL=100
#az if feltétel deklarálása
ha [ $ VAR -gt 10 ]
azután
kidobta 'Az$ VARnagyobb, mint 10 '
#véget ér az if feltétel
lenni


Az if else kijelentés
Az if else utasítást feltételes utasításként is használják. Az if feltétel után végrehajtott utasítások vagy parancsok, ha az adott feltétel igaz. Ellenkező esetben az else blokk kerül végrehajtásra, ha az adott feltétel nem igaz. Az else blokkot az if blokk követi, és az else kulcsszóval kezdődik.

#!/bin/bash
AHOL=7
#az if feltétel deklarálása
ha [ $ VAR -gt 10 ]
azután
kidobta 'Az$ VARnagyobb, mint 10 '
#declaring else blokk
más
kidobta 'Az$ VARkevesebb, mint 10 '
#véget ér az if feltétel
lenni


Több feltétel értékelhető az if feltétel használatával. A és operátor (&) és vagy (II) operátor segítségével értékelhetjük a több feltételt egyetlen if utasításban.

#!/bin/bash
AHOL=húsz
#az if feltétel deklarálása
ha [[ $ VAR -gt 10 && $ VAR -lt 100 ]]
azután
kidobta 'Az$ VARnagyobb 10 -nél és kevesebb 100 -nál
#declaring else blokk
más
kidobta 'A feltétel nem teljesül'
#véget ér az if feltétel
lenni


A beágyazott if utasítás
A beágyazott if utasításban van egy if utasítás az if utasításban. Az első, ha az állítást értékelik, ha igaz, akkor a másik, ha az állítást értékelik.

#!/bin/bash
AHOL=húsz
#az if feltétel deklarálása
ha [[ $ VAR -gt 10 ]]
azután
#Ha feltétel egy másikon belül, ha koncesszió van
ha [ $ VAR -lt 100 ]
azután
kidobta 'Az$ VARnagyobb 10 -nél és kevesebb 100 -nál
#declaring else blokk
más
kidobta 'A feltétel nem teljesül'
#véget ér az if feltétel
lenni
más
kidobta 'Az$ VARkevesebb, mint 10 '
lenni


Az if elif kijelentése
Az if elif utasítás több feltétel értékelésére szolgál. Az első feltétel az if mondattal kezdődik, a többi feltételt pedig az elif kulcsszó követi. Tekintsük az előző változószám példát, és valósítsuk meg az if elif utasítást a bash szkriptünkben. Az eq egyenlő operátorként használatos.

#!/bin/bash
AHOL=húsz
#az if feltétel deklarálása
ha [[ $ VAR -eq 1 ]]
azután
kidobta 'A változó értéke 1'
elif [[ $ VAR -eq 2 ]]
azután
kidobta 'A változó értéke 2'
elif [[ $ VAR -eq 3 ]]
azután
kidobta 'A változó értéke 2'
elif [[ $ VAR -gt 5 ]]
azután
kidobta 'A változó értéke nagyobb, mint 5'
lenni


2. Hurok
A hurkok minden programozási nyelv alapvető és alapvető részét képezik. A többi programozási nyelvtől eltérően a hurkokat a Bash is használja egy feladat ismételt végrehajtására, amíg az adott feltétel teljesül. A ciklusok iteratívak, nagyszerű eszköz a hasonló típusú feladatok automatizálásához. A for ciklus, míg ciklus, és amíg ciklus a Bash -ban használatos.
Beszéljük meg ezeket a köröket egyenként.

A while hurok
A while ciklus ugyanazokat az utasításokat vagy parancsokat hajtja végre többször. Kiértékeli a feltételt, és addig futtatja az utasításokat vagy parancsokat, amíg a feltétel igaz nem lesz.
Ez az alap szintaxisa a while ciklus használatának a Bash -ban.

Míg [feltétel vagy teszt kifejezés]
tedd
nyilatkozatok
Kész

Végezzük el a while ciklust a script.sh fájlunkban. Van egy VAR változónk, amelynek értéke nulla. A while ciklusban feltételt tettünk, hogy a ciklusnak addig kell futnia, amíg a VAR értéke nem éri el a 20. A változó értékét 1 -gyel növeljük minden iteráció után. Tehát ebben az esetben a ciklus addig indul, amíg a változó értéke nem éri el a 20 -at.

#!/bin/bash
AHOL=0
míg [ $ VAR -lt húsz ]
tedd
kidobta 'A változó jelenlegi értéke$ VAR'
#az érték növelése 1 -gyel a VAR -ban
AHOL= $((VAR +1))
Kész


A for hurok
A for ciklus a leggyakrabban használt ciklus minden programozási nyelvben. Az iteratív feladat végrehajtására szolgál. Ez a legjobb módja az ismétlődő feladatok elvégzésének. Nyilvánítsuk ki a for ciklust a script.sh fájlunkban, és használjuk ismétlődő feladat végrehajtására.

#!/bin/bash
AHOL=0
számára (( én==0; én<húsz; i ++))
tedd
kidobta 'Helló, és üdvözli a linuxhint'
#az i változó javítása
én= $((i+1))
Kész
kidobta 'Ez a ciklus vége'


A ciklus
A másik típusú hurok, amelyet a Bash használ, a ciklusig ciklus. Ismételten végrehajtja vagy végrehajtja ugyanazt a sorozatot. A ciklus értékeli a feltételt, és addig kezdi a végrehajtást, amíg az adott feltétel hamis. A ciklus addig fejeződik be, amikor az adott feltétel igaz. A ciklus szintaxisa a következő:

amíg [állapot]
tedd
nyilatkozatok
parancsokat
Kész

Végezzük el a script.sh fájlban a ciklus ciklusát. A ciklus addig fut, amíg a feltétel nem hamis (A változó értéke kisebb, mint 20)

#!/bin/bash
AHOL=0
amíg [ $ VAR -gt húsz ]
tedd
kidobta 'Helló, és üdvözli a linuxhint'
#az i változó javítása
AHOL= $((VAR +1))
Kész
kidobta 'Ez a ciklus végéig vége'


3. Olvasás a felhasználótól és írás a képernyőn
A Bash lehetőséget ad a felhasználónak arra, hogy valamilyen karakterlánc értéket vagy adatot adjon meg a terminálon. A felhasználó által megadott karakterlánc vagy adat olvasható a terminálról, tárolható a fájlban, és kinyomtatható a terminálon. A Bash fájlban a felhasználó által megadott adatok a olvas kulcsszót, és eltároljuk egy változóban. A változó tartalom megjeleníthető a terminálon az echo paranccsal.

#!/bin/bash
kidobta 'Írj valamit a terminálra'
#a megadott érték tárolása a VAR -ban
olvasAHOL
kidobta 'Beléptél:$ VAR'


A read paranccsal több lehetőség is használható. A leggyakrabban használt lehetőségek a -p és -s. A -p megjeleníti a parancssort, és a bemenet ugyanabban a sorban vehető fel. A –s néma üzemmódban veszi a bemenetet. A bemenet karakterei megjelennek a terminálon. Hasznos néhány érzékeny információt, például jelszót megadni.

#!/bin/bash
olvas -p 'Írja be az e -mail címet:'email
kidobta 'Írd be a jelszót'
olvas -sJelszó


4. Szövegfájlok olvasása és írása
A szöveges fájlok az adatok olvasásának és írásának alapvető összetevői. Az adatok ideiglenesen a szöveges fájlokban tárolódnak, és könnyen leolvashatók a szövegfájlból. Először beszéljük meg az adatok szövegfájlba írását, majd ezt követően a szövegfájlokból származó adatok olvasását.

A szöveges fájlok írása
Az adatokat többféleképpen lehet fájlba írni:

  • A derékszögű zárójel vagy a nagyobb jel (>) használatával
  • A kettős derékszögű konzol használatával (>>)
  • A tee paranccsal

Jobb angyal zárójel (>) adatok írásához
ez a leggyakrabban használt módszer az adatok szövegfájlba írására. Írjuk az adatokat, majd tegyük a> jelet. A> jel arra a szövegfájlra mutat, ahol az adatokat tárolnunk kell. Azonban nem fűzi hozzá a fájlt, és a fájl korábbi adatait teljesen felváltja az új adat.

#!/bin/bash
#felhasználó írja be a szövegfájl nevét
olvas -p 'Írja be a fájl nevét:'FILE
A #felhasználó megadja a szöveges fájlban tárolni kívánt adatokat
olvas -p 'Írjon be adatokat a fájlba:'ADAT
#adatok tárolása a szövegfájlban
#> a fájl nevére mutat.
kidobta $ DATA > $ FILE


Jobb angyal zárójel (>>) adatok írásához
A >> a parancs bármely kimenetének tárolására szolgál a fájlban. Például az ls -al parancs megjeleníti egy adott könyvtárban található fájl tartalmát és engedélyeit. A >> a kimenetet tárolja a fájlban.

#!/bin/bash
#felhasználó írja be a szövegfájl nevét
olvas -p 'Írja be a fájl nevét:'FILE
#a parancs kimenetének tárolása a fájlban
ls -hoz >> $ FILE



A tee parancs használatával adatokat írhat be a szövegfájlba
A Bash tee -parancsa a parancs kimenetének szövegfájlba írására szolgál. Kinyomtatja a parancs kimenetét a terminálon, és tárolja a szövegfájlban.

#!/bin/bash
#felhasználó írja be a szövegfájl nevét
olvas -p 'Írja be a fájl nevét:'FILE
#a parancs kimenetének tárolása a fájlban a tee paranccsal
ls -hoz | póló $ FILE


A tee parancs alapértelmezés szerint felülírja a fájl meglévő adatait. Azonban a tee paranccsal rendelkező opció használható a fájl hozzáfűzéséhez.

#!/bin/bash
#felhasználó írja be a szövegfájl nevét
olvas -p 'Írja be a fájl nevét:'FILE
#a parancs kimenetének tárolása a fájlban a tee paranccsal
ls -hoz | póló -nak nek $ FILE


A szövegfájlok olvasása
Az macska parancs a fájlból származó adatok olvasására szolgál. Erre a célra a leggyakrabban használt. Egyszerűen kinyomtatja a szöveges fájl tartalmát a terminálon. Nyomtassuk ki a fájl tartalmát vagy adatait a terminálon a macska parancs.

#!/bin/bash
#felhasználó írja be a szövegfájl nevét
olvas -p 'Írja be a fájl nevét:'FILE
#az adatok olvasása a szövegfájlból
macska $ FILE


5. Más programok futtatása a bash -ból
A Bash felhatalmazza más programok futtatására a Bash szkriptből. Az exec paranccsal futtatjuk a többi programot a Bash -ből. Az exec parancs lecseréli az előző folyamatot az aktuális folyamatra, és elindítja az aktuális programot. Például megnyithatjuk a nano, gedit vagy vim szerkesztőt a bash szkriptből.

#!/bin/bash
#futó nano szerkesztő a Bash -től
végrehajt nano

#!/bin/bash
#futó gedit a Bash -től
végrehajtgedit

Hasonlóképpen futtathatjuk a böngésző alkalmazást a Bash -ból is. Futtassuk a Mozilla Firefox böngészőt.

#!/bin/bash
#futó firefox
végrehajtfirefox


Ezenkívül bármilyen programot futtathatunk a Bash -ből az exec paranccsal.

6. Parancssoros feldolgozás
A parancssori feldolgozás a terminálon bevitt adatok feldolgozására vonatkozik. A parancssori adatokat többféle célból dolgozzuk fel, azaz olvassuk a felhasználói adatokat, alulértékeljük a parancsokat és olvassuk az érveket. Korábban már tárgyaltuk az olvasási parancsot. Az read parancsot parancssori feldolgozásra is használják. Ebben a részben a parancssori argumentumok feldolgozásáról fogunk beszélni. A Bash -ban feldolgozhatjuk a terminálon továbbított vagy írott érveket. Az érvek feldolgozása ugyanúgy történik, ahogy azokat továbbítják. Ezért pozicionális paramétereknek nevezzük. Más programozási nyelvekkel ellentétben a Bash argumentumainak indexelése 1 -gyel kezdődik. A dollárjel ($) az érvek olvasására szolgál. Például az 1 dollár beolvassa az első érvet, a 2 dollár a második érvet stb. Az érveket különböző okokból lehet elemezni, például a felhasználótól származó adatok befogadása miatt.

#!/bin/bash
kidobta 'Adja meg nevét'
#az első érv feldolgozása
kidobta 'Keresztnév:' $ 1
#a második érv feldolgozása
kidobta 'Középső név:'2 USD
#a harmadik érv feldolgozása
kidobta 'Vezetéknév:' 3 USD
kidobta 'Teljes név:' $ 1 2 USD 3 USD


A parancssori feldolgozás legalkalmasabb példája az adatok olvasása a terminálról a read használatával, és az argumentumok elemzése.

Bash története és összehasonlítás más héjakkal

A Bash most a UNIX és Linux alapú rendszerek alapvető összetevője. A Bourne Shell -t eredetileg Stephen Bourne fejlesztette ki. A Stephen Bourne héj célja az volt, hogy leküzdje az akkor már létező héjak korlátait. A Bourne Shell előtt a UNIX bemutatta a Thompson Shell -t. A Thompson héj azonban nagyon korlátozottan dolgozott fel a szkriptben. A felhasználók nem tudtak elegendő mennyiségű szkriptet futtatni. A Thompson héj ezen korlátainak leküzdése érdekében bemutatásra került a Bourne Shell. A Bells Lab -ban fejlesztették ki. 1989 -ben a Brian Fox forradalmasította a Bourne héjat, számos más funkció hozzáadásával, és Bourne Again Shell (BASH) néven nevezte el.

A héj neve Év Felület Leírás Összehasonlítás a BASH -val
Thompson Shell 1971 UNIX A szkript automatizálása korlátozott volt. A felhasználó csak kis mennyiségű szkriptet tud végrehajtani. A BASH leküzdi a Thompson shell korlátait, és a felhasználó írhatja a nagy szkripteket.
Bourne Shell 1977 UNIX Lehetővé teszi számunkra, hogy hatalmas mennyiségű szkriptet írjunk és futtassunk. A Bourne Shell nem biztosítja a parancsszerkesztőt és több gyorsbillentyű -szolgáltatást. A BASH javítja a tervezést a parancsszerkesztővel együtt.
POSIX Shell 1992 POSIX A POSIX Shell hordozható. Számos parancsikont és feladatkezelést biztosít. A BASH népszerű azoknak a feladatoknak a végrehajtására, amelyek nem igényelnek hordozhatóságot.
Z Shell 1990 UNIX A Z Shell funkciókban gazdag. Ez egy nagyon hatékony héj, és olyan funkciókat kínál, mint a parancs automatikus kiegészítése, a helyesírás-javítás és az automatikus kitöltés. A BASH -ból hiányzik néhány olyan funkció, amelyet a Z Shell biztosít.

Következtetés

A BASH egy nagyon hatékony eszköz, amely lehetővé teszi parancsok és szkriptek futtatását. A BASH parancsfájl lehetővé teszi a napi feladatok és parancsok automatizálását. A BASH szkript több parancs kombinációja. A BASH fájl .sh kiterjesztéssel végződik. A BASH szkript futtatása előtt frissítenünk kell a fájljogosultságokat, és meg kell adnunk a .sh fájl végrehajtható engedélyét. Ez a cikk a BASH és BASH parancsfájlokat ismerteti egyszerű példák és fontos tanulságok segítségével. Ezenkívül leírja a BASH történetét, és összehasonlítja tulajdonságait különféle más erős héjakkal.