Hogyan írjunk Bash-szkripteket a Linux automatizálásához

A Bash scriptelés hasznos készség, amelyet Linux-felhasználóként el kell sajátítani. Még kezdőként is ennek a készségnek a ismerete jelentheti a különbséget aközött, hogy teljes mértékben kihasználja gépe előnyeit, és mindent kézzel csinál. Ezért ebben a cikkben megtanítjuk Önnek, hogyan írjon bash szkripteket a Linux automatizálása érdekében, és hogyan vegye át teljes mértékben az irányítást az asztal felett. Áttekintjük a Bash parancsértelmezővel való szkriptelés alapjait, a szkript alapjait, a futtatásukat a rendszeren, a shebang jelentését és még sok mást!

Szkriptek típusai

Számos különböző típusú szkript létezik. Főleg: SH és BASH. Ezek a fájlkiterjesztések fontosak, mert a fájlkiterjesztés megmondja a tolmácsnak, hogyan futtassa. Ha egy fájl SH-fájl, akkor bármilyen shellben futtatható, nem csak a Bash-ban. Ez azt jelenti, hogy a Linuxon Bash számára írt szkript futhat Mac-en, BSD-n és más, hasonló shell-ekkel rendelkező helyeken.

A BASH fájlkiterjesztést használó szkriptek csak a Bash belsejében futhatnak. Elég annyit mondanunk, hogy a bash fájlkiterjesztésű szkript nem fog futni a Fish shellben Linuxon, vagy a többi hasonló elérhető shellben.

  4 legjobb Linux-terjesztés a munkahelyen

Shebangs

Egyes szkriptek egyáltalán nem használnak fájlkiterjesztéseket. Ehelyett shebang-ot használnak, hogy a tolmács megértse, mire való a szkript, és hogyan kell futtatni. Szkript írásakor MINDIG a shebang az első. Ha egy shebang hiányzik, a szkript gyakran megtagadja a futást, különösen, ha nem használ fájlkiterjesztést.

Sokat kell tanulni a shebangokról, de a kezdőknek nem kell aggódniuk miattuk. Csak a haladó Bash-felhasználók számára bizonyulnak hasznosnak, akik hihetetlenül összetett Bash-eszközöket szeretnének írni. Kezdőkként a felhasználóknak csak a szabványos szettre kell gondolniuk: #!/bin/bash

Bash-szkript készítése

Sok kezdő összekeveri a bash szkripteket a tényleges programozással. A bash-ban a szkriptek fő célja az, hogy sok parancsot összefűzzen, hatékonyan végezve hosszú, bonyolult dolgokat anélkül, hogy minden apró dolgot ki kellene írnia a terminálhéjba. Ha komolyan próbál programozni a Bashban, álljon meg, és fontolja meg a Linuxon használt tényleges programozási nyelvet, például a Pythont.

A kezdéshez nyisson meg egy terminált, és írja be a következő parancsot:

nano myfirstbashscript

Ekkor megjelenik a Nano szövegszerkesztő. A nano belsejében adja hozzá a shebang-ot, hogy segítsen a tolmácsnak megállapítani, mit tegyen a szkripttel.

#!/bin/bash

Innentől bármit megtehetünk! Például: egy Ubuntu felhasználó létrehozhat egy egyszerű frissítési szkriptet a következő sorok hozzáadásával:

sudo apt update;sudo apt upgrade -y

Alternatív megoldásként egy másik példa: készítsen egy folyamatos ping szkriptet, amely a háttérben fut, ha aggódik a hálózat sebessége miatt.

ping google.com

Adja hozzá a kívánt parancs(oka)t a szkripthez! Légy kreatív!

  A Dropbox használata a Linux parancssorból a Dropbox Uploader segítségével

Miután hozzáadta a kívánt szöveget a szkripthez, mentse el a nano segítségével a CTRL + O használatával.

Miután a szkript elkészült, ideje frissíteni az engedélyeket. A terminálban tegye a következőket:

sudo chmod +x myfirstbashscript

Szkriptek futtatása

Shell szkript futtatásához nyisson meg egy terminált, és tegye a következőket:

sudo sh script.sh

A bash fájlok futtatásához próbálkozzon:

sudo bash script.bash

Alternatív megoldásként bármely szkript, függetlenül a fájlkiterjesztéstől, könnyen futtatható a ./filename fájllal a terminálban.

A szkriptek futtatásának mindhárom módja nagyon jól működik. Ennek ellenére a ./filename használata a legrosszabb módszer, mivel a szkriptek gyakran csak akkor futnak, ha a bash szkript rendelkezik a megfelelő jogosultságokkal. Állítsa be az engedélyeket:

sudo chmod +x script

A szkript elkészítése binárissá

A szkript futtatásához egyszerűen be kell írnia a fájl nevét a terminálba, binárissá kell tennie. Ehhez használja a chmod parancsot, hogy végrehajtható legyen.

sudo chmod +x

Amikor a szkript végrehajthatóként van megjelölve, ideje áthelyezni a szkriptet, hogy elérhető legyen a felhasználó elérési útján. Tegye ezt az MV paranccsal. Alternatív megoldásként használja a CP parancsot a move parancs helyett, ha biztonsági másolatot szeretne tartani a szkriptről az eredeti helyén.

sudo mv /location/of/script /usr/bin/

vagy

sudo cp /location/of/script /usr/bin/

Ezután futtassa az újonnan áthelyezett szkriptet a terminálon belül, bárhonnan egyszerűen a nevének beírásával a terminálba. Például: a YouTube-DL-t használtad egy automatikus YouTube bemásoló szkript írásához, és az /usr/bin/ könyvtárba helyezted a könnyű hozzáférés érdekében.

  Hogyan helyezze át Linux otthoni könyvtárát egy másik meghajtóra

A szkript futtatásához a következőket kell tennie:

youtubescript

Ez az!

Következtetés

A bash nyelv megtanulása hasznos eszköz. Enélkül a rendszeradminisztrátorok és a terminálok geekei órákig egy terminál felett dolgoznának. Ehelyett bash szkripteket írhatnak a Linux automatizálására. Azáltal, hogy megtanulja kihasználni a Bash erejét, kiírja ezeket az összetett műveleteket, és gyorsan lefuttatja őket egy szkript segítségével.

A héj gyönyörű, és minél többet tanulsz róla, annál többet fogsz megtudni a saját Linux rendszereikről, automatizálni őket, és még a dolgok belső működését is javítani fogod! A bash-nél az ég szab határt, csak egy kis kreativitás kell hozzá!