Bash Script

Ubuntu

A bash egy unix rendszerhéj, amely a GNU Projekt részeként készült. A futtatható fájl neve bash egy játékos mozaikszó, mely a Bourne again illetve a born again kifejezéseket rövidíti. Ez a korai Bourne shell-re utal, melyet még 1978-ban adtak ki a Unix 7 Verzió részeként. A bash-t 9 évvel ezt követően 1987-ben készítette el Brian Fox, majd 1990-ben Chet Ramey vette át a szoftver gondozását. A legtöbb Linux rendszeren, valamint az OS X rendszereken a bash az alapértelmezett shell.

Mire jó? Megkönnyíti a felhasználók munkáját, automatizálni lehet vele folyamatokat, pl: karbantartást. Windowsban is van hasonló, ott batch-nek hívják, és .bat a futtatható fájl kiterjesztése.

Első programunk

A bash fájlok kiterjesztése .sh. Tehát egy ilyen fájlt fogunk létrehozni sima nano szövegszerkesztővel. nano elso.sh

Tartalma:

#!/bin/bash
echo „Hello World, ez az első bash programom!”

Lefuttatni a bash elso.sh utasítással lehet, vagy adni kell neki futtatási jogot: chmod a+x elso.sh és utána ./elso.sh

Az echo parancsot kiíratásra használjuk.
Komment elhelyezése: # ha egysoros, ” és ‘ ha többsoros

Második program

Hozzunk létre egy változót, ami két szám összegét tárolja, majd írassuk ki a tartalmát!

Futtatás: bash masodik.sh

While ciklus

While ciklus segítségével számoljunk el 5-ig! A szamlalo nevű változó értékét növeljük mindig eggyel, amíg <=5 Ha eléri az értéke az 5-öt, akkor ki fog lépni a program a while ciklusból.

FOR ciklus

Számoljunk 1-től 5-ig!

Számoljunk 10-től 1-ig vissza!

Adatok bekérése, read

Üdvözöljük a felhasználót, kérjük be a nevét egy változóba!

Kérjük be egy téglalap két oldalának hosszát, majd számoljuk ki a kerületét, területét!

IF és ELSE IF, feltételek kezelése

Feltételnél if-fel kezdünk és fi-vel jelezzük a végét.  Operátorok:
-eq’ for equality, ‘ (egyenlő)
-ne’ for not equality and ‘ (nem egyenlő)
-gt’ for greater than  (nagyobb, mint…)
-lt’ for less then (kisebb, mint…)

Lehet használni itt is ÉS, VAGY operátorokat is. ( &&, ||) Szöveges adatok esetén ha egyezőséget vizsgálunk, akkor ==, ha nem egyenlő akkor !=

Természetesen használhatjuk a jól megszokott relációs jeleket is, de ebben az esetben (( )) közé kell írni a feltételeket!

Szöveges adatok vizsgálata

ELSE IF, azaz elif

Melyik érdemjegynek mi a neve? Kérjünk be egy számot, és írjuk ki, hogy nevezik.

Hozzunk létre egy új könyvtárat, ha még nem létezik…

Vizsgáljuk meg, a megadott nevű fájl létezik-e?

CASE Természetesen itt is van CASE, hasonlóan működik, mint a többi programozási nyelvben. case-zel kezdődik, és easc-kal jelezzük a végét. A feladat ugyanaz, mint az előbb, adjuk meg, melyik osztályzatnak mi a neve!

Függvények

Hozzunk létre egy saját függvényt! A függvényt a function utasítással adjuk meg, majd adunk neki egy nevet. Első függvényünk egy sima szöveg kiíratás lesz. A függvényt, hasonlóan a többi programozási nyelvhez, a nevével tudjuk meghívni (futtatni)

Futtatás a szokásos módon, a fájl nevével: bash fuggveny_pelda.sh. Az eredmény pedig, hogy kiírja: I like bash programming

Függvény paraméterekkel

Számoljuk ki egy téglalap területét. Ebben az esetben a függvényünk 2db paramétert fog várni, az a és a b oldal hosszát, ezek $1 és $2-vel vannak jelölve. Ezzel azt jelezzük, hogy numerikus adatot várunk a függvényünk paramétereként.

A Bash függvények numerikus és szöveges értéket is átadhatnak. Nézzünk egy példát… Készítsünk egy függvényt, ami üdvözli a felhasználót. A felhasználótól egy nevet fogunk bekérni, ezt fogja a függvényünk felhasználni!
Hozzunk létre egy új bash fájlt: udvozlo_fuggveny.sh néven!

Futtassuk le a scriptet:

bash udvozlo_fuggveny.sh