Kezdő Útmutató

Bash Scripting bemutató kezdőknek

Bash Scripting bemutató kezdőknek

Ha Ön kezdi a Linux rendszereket, akkor a következő kifejezések: „Shell szkriptek” vagy - Bash szkriptek”Meglehetősen gyakori lehet - De mit jelentenek? Mielőtt a részletekbe kezdenénk, a Bash parancsfájlok megtanulása időt takaríthat meg a különféle rendszerfeladatok végrehajtásában és végrehajtásában, jobban megértheti a Linux parancssort (terminált), és automatizálhatja a rendszer több feladatát.

Mi az a Bash?

Bash, a rövidítés „Bourne-Again-Shell” egy Unix shell vagy parancsnyelvi tolmács a GNU operációs rendszerhez. Ez volt a fő Shell a Linux disztribúciókhoz és az Apple macOS kiadásaihoz a macOS Catalina előtt. A Bash a Windows 10 rendszerhez a Windows alrendszeren keresztül is elérhető.

A Bash általában egy olyan szöveges ablakban fut, amelyet általában Terminálnak neveznek, ahol a felhasználók parancsokat írnak be különféle feladatok elvégzéséhez. A Bash végrehajthatja a fájlba írt parancsokat is „Bash scripting.”

Különbség a Bash és a Shell szkriptek között

A Shell és a Bash szkriptek nem ugyanazok. A Bash szkriptekkel kifejezetten a bash shell-t használja. Másrészről a Shell szkriptek meglehetősen tág szavak lehetnek, mivel a Bashon kívül más héjak is rendelkezésre állnak. A leggyakoribbak közé tartozik a Korn (ksh), a C shell (csh), Z shell (zsh) és a Bash shell (sh). Azonban nem lenne meglepő, ha a bash és a shell parancsfájlokat felcserélhetően használnák, és ugyanazt jelentenék. A Linux 6 legjobb nyílt forráskódú héjával kapcsolatos bejegyzésünk részletesen leírja ezeket a héjakat.

Ebben a bejegyzésben a Bash szkripteket vizsgáljuk. Alapértelmezés szerint sok elérhető Linux disztribúció használja a Bash héjat. Nézze meg a kezdőknek szóló 6 legjobb Linux-disztribúcióval kapcsolatos bejegyzésünket. A jelenlegi Linux-disztribúción használt héj megerősítéséhez hajtsa végre a parancsot a terminálon.

visszhang $ SHELL

héj

A fenti képen látható, hogy a rendszerem alapértelmezett tolmácsa a bash. Jelenleg az Ubuntu 20-at futtatom.04 LTS. Merüljünk be!

A Bash szkriptek megértése

A Bash parancsfájlok olyan bash parancsokat tartalmazó szövegfájlok, amelyeket különféle feladatok végrehajtására hajtanak végre. Ezeknek a szkripteknek a megírásához csak egy egyszerű szövegszerkesztőre van szükséged, mint például a gedit, a levéllap, a vim, a nano és még sok más. Ne felejtse el elmenteni a szkripteket a .SH kiterjesztésként és egyszerű szövegként, és nem gazdag szövegként. Az egyik kedvenc szerkesztőm, amelyet szkriptek írására használok, a nano szerkesztő.

Elnevezés, engedélyek hozzárendelése és Bash parancsfájl végrehajtása

A fentiekben leírtak szerint győződjön meg a .sh kiterjesztés a bash szkriptekhez. Például lehet egy szkript a névvel fosslinux_backup.SH. Az lenne a legjobb, ha óvatosan járna el a szkriptek megnevezésével. Például a legtöbben a szkriptjeik nagy részét „tesztként” szeretik menteni.”A legtöbb számára ismeretlen, van egy Unix beépített teszt nevű parancs, amely ellenőrzi a fájltípusokat és összehasonlítja az értékeket. A melyik paranccsal ellenőrizheti, hogy létezik-e ugyanaz a program neve, mint a parancsfájljának, hogy megakadályozza a programütközéseket.

melyik [parancs] e.g melyik teszt

Melyik parancs

A fenti kimenetből láthatjuk, hogy a teszt már beépített parancs. Ezért a programok közötti konfliktusok elkerülése érdekében egyetlen szkriptemet sem fogom megnevezni "teszt.”

Ahhoz, hogy a parancsfájl futtatható legyen minden felhasználó számára, használja az alábbi parancsot:

chmod + x [szkript.SH]

A szkript futtathatóvá tételéhez az aktuális felhasználó számára használja az alábbi parancsot:

chmod u + x [szkript.SH]

A szkript futtatásához hajtsa végre az alábbi parancsot:

./ [script_name]

A fenti módszerrel rájön, hogy a CD parancsot a szkriptet tartalmazó könyvtárba lépéshez vagy a szkript elérési útjának továbbításához. Ennek azonban van egy megoldása. Mentse a szkripteket a kuka a saját könyvtárban található könyvtár.

A legújabb frissítésekkel a legtöbb disztribúció nem a kuka mappa alapértelmezés szerint. Ezért Önnek manuálisan kell létrehoznia. Ha a szkripteket ebbe a mappába helyezi, akkor végrehajthatja a szkriptet úgy, hogy beírja a nevét a terminálra anélkül, hogy CD és ./ parancsokat.

Bash Scripting irányelvek

Az első szkript megírása előtt van néhány irányelv, amelyet meg kell értenie a szkriptek írásakor.

A #!/ bin / bash (Hash-Bang Hack) utasítás az általunk használt héj elérési útja. Ha másik héjat használ, akkor szerkesztenie kell ezt az utat. Megértjük, hogy minden megjegyzés a -val kezdődik # szimbólum. Amikor azonban a (!) jelet a Hash-Bang Hack-ben, a szkript kénytelen végrehajtani a héjra, amelyre ez a vonal mutat. Esetünkben ez a Bash héj.

Az első Bash szkripted

A legtöbb programozási nyelvhez hasonlóan mi is írunk egy szkriptet, amely kinyomtatja a "Helló Világ" utasítás végrehajtásakor. Nyissa meg kedvenc szövegszerkesztőjét, és illessze be az alábbi parancsokat. Mentse a szöveges fájlt fossHelloWorld.SH vagy bármilyen más név, amely nem beépített parancs.

#!/ bin / bash #Ez a szkript a „Hello World” szót nyomtatja a „Hello World” terminál visszhangra

Miután elmentette a fájlt, tegye futtathatóvá az alábbi parancs végrehajtásával:

chmod + x fossHelloWorld.SH

Most futtassa az alábbi paranccsal:

./ fossHelloWorld.SH

Első szkript

A fenti szkript csak három sorból áll. Az első a Hash-Bang Hack, amelyet fentebb tárgyaltunk, a második egy megjegyzés, a harmadik pedig a végrehajtandó parancs. Megjegyzés: a megjegyzéseket soha nem hajtják végre.

Nézzünk meg más bash parancsfájl-szolgáltatásokat, amelyeket felhasználhat.

Visszhang parancs

Az Echo paranccsal kimenet nyomtatható a Linux parancssorára vagy a terminálra. Ha Ön fejlesztő és korábban dolgozott a PHP-vel, akkor biztosan találkozott ezzel a paranccsal is. Írjunk egy kis bash szkriptet, hogy bemutassuk a parancs működését.

#!/ bin / bash # Nyomjuk meg az első sor visszhangját "Ez a Fosslinux.com - Új sorral "# Nyomjuk meg a második utasítást új sor nélkül echo -n" Ez a Fosslinux - Nincs új sor "

Mentse a szkriptet, rendelje hozzá a szükséges engedélyeket, és hajtsa végre.

Bash Echo

A kód megértése érdekében az első echo parancs kinyomtat egy utasítást, és a következő sorra lép. A második visszhangparancsnak megvan a -n argumentum, amely megakadályozza, hogy a szkript a következő sorra lépjen. Az Echo paranccsal sok más lehetőséget is használhat, beleértve a változókat is, amint az alábbiakban láthatjuk.

Változók

A változók minden programozási nyelv közös és szükséges részét képezik. A Bash változókat többféleképpen deklarálhatjuk. Ha értéket rendel hozzá bármely változóhoz, akkor nem kell semmilyen szimbólumot használnia. A változó értékének meghívásakor azonban a $ jel a változó elején.

A változókat használhatja a terminálon vagy szkriptként. Hajtsa végre az alábbi parancsokat a terminálon.

myWebsite = "Fosslinux.com "echo $ myWebsite

Változók használata a terminálon

Most hozzunk létre egy bash szkriptet, amely két bemenetet vesz el a felhasználótól és változókban tárolja őket $ x és $ y. Ezután a szkript ellenőrzi, hogy a két érték megegyezik-e vagy sem.

#!/ bin / bash echo "Írja be az első számot" olvassa el a visszhangot "Írja be a második számot" olvassa el b-t, ha [[$ a -eq $ b]], akkor echo "A számok egyenlők", másképp visszhang "A számok nem egyenlőek" fi

Mentse el a parancsfájlt, és futtassa. Az alábbi képen látható, hogy különböző értékeket írtunk be, és a szkript ellenőrizni tudta, hogy egyenlőek-e vagy sem.

Bash változók

Most nézzük meg közelebbről a kódot. Az első két visszhang utasítás arra kéri a felhasználót, hogy írja be az első és a második számot. A olvas A parancs megvárja, amíg a felhasználó megad egy számot, és eltárolja a megadott változóban. Esetünkben az a és b. Ezután van egy if utasításunk, amely ellenőrzi, hogy a két érték egyenlő-e vagy sem.

Feltételes nyilatkozat

Bármely programozási nyelven a feltételes utasítások vezérlik a program folyamatát. Egy kódrész csak akkor fog végrehajtódni, ha egy adott feltétel teljesül. A leggyakoribb feltételes állítások között szerepel az „ha-akkor-más” és az „eset.”Az alábbiakban az if-then-else utasítás alapvető szintaxisa található.

ha [[feltétel]] akkor  más  fi

Vessen egy pillantást az alábbi szkriptre, amely az „ha-akkor-más” feltételes utasítást használja.

#!/ bin / bash echo "Írja be az életkorát" olvasási kor, ha ((életkor> 18)), majd visszhang "Lehet menni a buliba" más visszhang "Nem vagy jogosult buliba menni" fi

Bash feltételes állítások

Menjünk át a fenti szkripten. Megvan a visszhang utasítás, amely arra kéri a felhasználókat, hogy adják meg az életkorukat. A olvas utasítás a „age” változóba beírt életkort tárolja.”Ezután van egy if-then-else feltételes nyilatkozata, amely ellenőrzi, hogy az életkor 18 évnél idősebb-e, mielőtt utasítja a felhasználót.

Hurkok

A hurokokat általában akkor használják, ha egy kódrészletet többször is végrehajtani akar. Például, ha a „Welcome to Fosslinux” utasítás 1000 sorát szeretném visszhangozni, akkor 1000 visszhang mondatra lenne szükségem. Viszont a ciklusokkal csak annyit kell tennem, hogy megadjam, hányszor szeretnék visszhangozni vagy kinyomtatni a nyilatkozatot a terminálon. A Bash háromféle hurkot támogat; A hurokhoz, míg a hurokhoz és a hurokig. Nézzük meg mindegyiket.

A For Loop a megadott adatok listáján vagy tömbön keresztüli iterációra szolgál. Az alábbiakban látható a Bash For Loop alapvető szintaxisa;

for Value in 1 2 3 4 5… N do utasítás1 utasítás2 utasítás-N kész

vagy,

a VALUE értékhez a fájlban1 fájl2 fájl3 tegye az utasítást1 a (z) $ VALUE utasításon2 utasítás-N kész

Vessen egy pillantást az alábbi szkriptre. Végigméri a hét adott napjait, és soronként kinyomtatja őket a Terminálra.

# Olvasson el egy hétköznap nevet a ciklus minden egyes iterációjában hétfőn, kedden, szerdán, csütörtökön, pénteken, szombaton, vasárnap, kész "$ day" visszhangot kész

Mentsük a szkriptet ForLoop.SH és végrehajtja. Az alábbiakban bemutatjuk a kimenet képernyőképét.

A hurok számára

Ez csak egy egyszerű példa arra, hogy mit tehet a For Loop segítségével. Kombinálhatja feltételes utasításokkal is egy adott feladat elvégzéséhez.

A While Loop egy adott feladatot hajt végre, míg egy adott feltétel igaz marad. Minden ciklusban a ciklus először ellenőrzi a feltételt, mielőtt végrehajtaná az utasításokat. Ha a feltétel hamis, a hurok véget ér. A bash While ciklus alapvető szintaxisa a következő:

míg a [FELTÉTEL] a [PARANCSOK] kész

Például lehet egy szkriptünk, amely kinyomtatja az utasítást „Üdvözöljük a FOSSLINUX-nál.COM ” 20-szor, amíg az X változó értéke 20. Próbáljuk meg ezt gyakorlatilag megvalósítani. Vessen egy pillantást az alábbi szkriptre.

#!/ bin / bash x = 1, míg a [$ x -le 20] visszhangzik "Üdvözöljük a FOSSLINUX-ban.COM "x = $ (($ x + 1)) kész

Mentsük el a szkriptet WhileLoop.SH és végrehajtja. Az alábbiakban bemutatjuk a kimenet képernyőképét.

Míg a hurok

Vessünk egy pillantást a fenti While Loop szkriptre. Először deklarálunk egy X változót, aminek az értéke 1. Ezután létrehozunk egy While utasítást, amely a „Welcome to FOSSLINUX.COM ”, míg X kevesebb, mint 20. Végül minden egyes iteráció után eggyel növeljük az X-et.

A Bash Until ciklusok utasítások vagy parancsok halmazának végrehajtására szolgálnak mindaddig, amíg a beállított feltétel hamisnak minősül. Az alábbiakban olvasható a Loop-ig alapvető szintaxisa.

amíg [ÁLLAPOT] nem hajtja végre az [ÚTMUTATÓK / PARANCSOK] elemet

A While Loop-hoz hasonlóan, a Until Loop először értékeli a beállított feltételt, mielőtt végrehajtaná az utasításokat vagy parancsokat. Ha az állapot hamisnak minősül, az utasítások végrehajtásra kerülnek. A ciklus akkor szakad meg, amikor a feltétel igaznak bizonyul. Vessen egy pillantást az alábbi példára.

#!/ bin / bash count = 0, amíg [$ count -gt 5] do echo Counter: $ count ((count ++)) kész

Miután mentettük és futtattuk a fenti szkriptet, megkapjuk az alábbi kimenetet:

Hurokig

A fenti szkriptek először létrehoznak egy változószámot és nullára állítják (0). Ez az a feltétel, amely vezérli a programunk folyamatát. Az Addig hurok ellenőrzi, hogy a számlálás értéke nagyobb-e, mint 5. Ha nem, kinyomtatja az átadott utasításokat. Ha azonban az érték nagyobb, mint 5, akkor a hurok azonnal megszűnik. Végül 1-gyel növeljük a számlálás értékét (count ++).

Bash funkciók

A programozásban és a szkriptelésben a Funkciókat egy adott feladat végrehajtásához szükséges újrafelhasználható kódrész tárolására használják. Ezért, ha hasonló parancsai vannak, amelyeket a szkript különböző részein akar végrehajtani, akkor nem kell ezeket a parancsokat többször megírnia. Zárja be őket egy függvénybe, és hajtsa végre a függvényt.
Az alábbiakban a Bash függvény alapvető szintaxisa található.

függvény_neve ()    

vagy,

function function_name függvény   

Hozzunk létre egy egyszerű szkriptet, amely kihasználja a függvényeket. Először létrehozunk egy „myFunction” nevű függvényt, amely meghíváskor kiadja a „Hello, én vagyok az első függvény” állítást. A második funkció, a „myCities”, kissé fejlett, mivel az argumentumokat továbbítja. Az argumentumokat a függvénynév meghívása után adjuk meg. Ezek a funkcióban $ 1 néven érhetők el.

#!/ bin / bash myFunction () echo "Helló vagyok az első funkció" echo "Helló vagyok az első funkció" echo echo "Ez a második funkció" függvény myCities () echo Hello $ 1 myFunction myCities Washington, D.C myCities Phoenix

A szkript mentése és végrehajtása után megkapjuk az alábbi kimenetet.

Funkciók

Bash menük

Ha szkriptet ír egy speciális feladat végrehajtásához, akkor előfordulhat, hogy a felhasználónak ki kell választania egy opciót a terminálon megjelenő több lehetőség közül. Ennek eléréséhez a bash-t fogjuk használni válassza parancs.

Létrehoz egy egyszerű menüskriptet, amely arra készteti a felhasználókat, hogy válasszák ki kedvenc Linux disztribúcióikat egy listából. Vessen egy pillantást az alábbi szkriptre.

#!/ bin / bash # Üzenet kinyomtatása a felhasználónak: "Válassza ki a kedvenc Linux-disztribúcióját" válassza ki a disztribúciót az Ubuntu Fedora OpenSUSE DeepIN Parrot ArchLinux Kali-ban #Kinyomtassa a kiválasztott értéket, ha [[$ distro == "Kilépés"]], majd kilép echo "A kiválasztott Linux disztribúció $ distro" kész

Mentsük el a parancsfájlt menüként.sh és hajtsa végre. Az alábbi kimenetet kapjuk.

Bash menük

A fenti szkriptben van egy lista hét Linux disztribúcióról, amelyet a felhasználó kiválaszt. Miután kiválasztottak, eltárolódik a változóban disztró majd később a húrral összefűzve kinyomtatták „A kiválasztott Linux disztribúció az.” A Bash select menük nagyon hasznosak lehetnek, különösen, ha több parancsfájl van, amelyek különböző feladatokat hajtanak végre, és ki kell választani a végrehajtani kívánt menüt.

Számtan

Minden programozási nyelv támogatja az aritmetikai műveletek végrehajtását, és ez alól a bash script sem kivétel. Azonban az, hogy hogyan végezzük a számtani műveleteket, egy kicsit más. Az alábbiakban bemutatjuk az egyik módszert a számtani műveletek elvégzésére a bash-ban. Négyféle számtani műveletet vizsgálunk meg - Összegzés, osztás és szorzás.

#!/ bin / bash # Az összeg eredményének kiszámítása = $ ((70 + 15)) # Összegérték nyomtatása echo "összeg = $ eredmény" # Az osztás eredményének kiszámítása = $ ((100/25)) # Osztási érték nyomtatása echo "felosztás = $ result "# Szorzás eredményének kiszámítása = $ ((15 * 15)) echo" Szorzás = $ eredmény "

Mentsük el a fenti szkriptet számtanként.sh és hajtsa végre. Az alábbiakban megkapjuk a kimenetet.

Számtan

Következtetés

Ez egy teljes kezdő útmutató a Bash szkriptek használatának megkezdéséhez. Ugyanakkor a Bash-on kívül más is található, mint amire ez az oktatóanyag foglalkozik. Az egyik olyan hely, amelyet a képességeinek fejlesztése érdekében javasolnék, a GNU Bash Reference Manual. Ha bármilyen problémája van, vagy megjegyzést fűz a bejegyzéshez, kérjük, nyugodtan nyomja meg az alábbi megjegyzéseket.

Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...
Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...