Basics bash

Természetesen mindazok, akik kommunikálni a Linux operációs rendszer, legalább egyszer, de meg kellett küzdenie (vagy legalábbis hallott már pontosan) a héj bash. De nem csak a bash shell, ez is egy kiváló programozási nyelv.

A célja ennek a cikknek -, hogy megismerjék a felhasználók bash, hogy elmondja a szintaxis az alapvető technikákat és a darab nyelvi, még egy átlagos felhasználó gyorsan írni egy egyszerű script fut naponta (hetes, hónapos) rutin munka, vagy, mondjuk, „a térd „navayal skriptik a backup könyvtár.

Bash - Bourne-Again Shell (ami lehet fordítani, mint "újjászületés volt", vagy „Born Again volt (szerző sh)»), a legnépszerűbb shell * nix rendszerek, különösen a GNU / Linux. Az alábbiakban egy sor beépített parancsok, amely azt fogja használni, hogy saját szkripteket.

  • törni - ki az a hurok, while vagy amíg
  • továbbra is - a következő iterációban a for ciklus, while vagy amíg
  • echo - output érvek, szóközzel elválasztva, a szabványos kimeneti eszközt
  • kilépés - a kimenetet a boríték
  • export - tudomásul veszi az érveket, változókat átadni a gyermek folyamatok a környezet
  • hash - tárolja a teljes nevét csapatok utak megadott érvként, nem kell keresni őket a következő hívás
  • kill - küld egy folyamat befejezése
  • pwd - Az aktuális működő könyvtár
  • - olvasható beolvas egy sort a bemeneti borítékot, és arra használja, hogy rendeljen értékeket a meghatározott változók.
  • visszatérés - okoz shell funkcióval, hogy megy egy megadott érték
  • váltás - mozog a pozicionális paraméterek balra
  • teszt - kiszámítja a feltételes kifejezés
  • alkalommal - megjeleníti a felhasználó nevét és a rendszer ideje, használja a héj és annak származékai
  • csapda - meghatározza a végrehajtandó parancsot, amikor egy jel vételére köpeny
  • hatástalanítva - pusztulását okozza shell változók
  • várj - várj ki a gyermek folyamat, és tájékoztatja a kimeneti állapotot.

És természetesen, továbbá a beépített parancsok fogjuk használni egy csomó külső, külön csapat szoftver, amellyel találkozunk már a folyamat

Mit kell tudni a kezdetektől

1. Minden bash-script kell kezdeni a sort:

ebben a sorban, miután a #! az elérési utat a bash-tolmács, így ha van telepítve egy másik helyen (ahol meg lehet tanulni a gépelés whereis bash), és változtassa meg az utat.

2. Megjegyzések kezdődik egy # jelet (kivéve az első sorban).

3. A bash változókat nincs típus (amelyből a későbbiekben még kitérünk)

A változók és paraméterek a script

Íme egy példa egy kis példa, amely azt fogja megvitatni:

# Megmutatja hol tartottunk bash-héj

parametr1 = $ 1 # parametr1 rendelni változó értéke az első paraméter a script

parancsfájl_neve $ = 0 # rendelni változó parancsfájl_neve értelmében a szkript nevét

echo „Te futó script neve $ parancsfájl_neve és paraméter $ parametr1” # echo parancs kilistázza az adott szöveg, hivatkozás egy változót a $ változónév.

echo „'futás egy script nevű $ parancsfájl_neve és paraméter $ parametr1” # itt látunk más idézetek, a különbség az, hogy nincs helyettesítő változók aposztrófok.

exit 0 # Kilépés 0 kóddal (sikeres a script)

A kimenet a script:

Te fut egy script, a nevét és a paraméter ./test.sh qwerty

Te fut egy script nevű $ parancsfájl_neve és paraméter $ parametr1

Amint megismerjük, hogyan kell használni változók és paraméterek a forgatókönyvet, az idő, hogy megismerjék a fenntartott változók:

Feltételes utasítások, azt hiszem, ismerős szinte mindenki, aki valaha is próbált valamit írni programokat. A bash, a feltételek írásbeli nyoma. módon (a szokásos módon például):

forrás = $ 1 # forrás Mi belökték egy változó első paraméter a script

dest = $ 2 # a változó cél Mi tolóerő a második paraméter a script

if [[ "$ source" -eq "$ dest"]] # idézett tüntetni a változók az összehasonlításhoz. -eq - logikai összehasonlítás azt jelenti, „egyenlő”

then # ha valóban egyenlőek,

echo „$ Primenik dest és forrása $ forrása ugyanaz a fájl!”

exit 1 # kilépési hiba (1 - hibakód)

más # ha nem egyenlő

cp $ source $ dest # majd végrehajtja a cp parancsot: másolja a forrás és a vevő

fi # jelöli a végén körülmények között.

A kimenet a script:

Primenik 1. és Source 1 ugyanaz a fájl!

A szerkezet a ha-akkor-mást a következőképpen használjuk fel:

ha <команда или набор команд возвращающих код возврата(0 или 1)>

<если выражение после if истино, то выполняется этот блок>

<если выражение после if ложно, тот этот>

Mivel a csapat visszatér a visszatérési kód teheti a szerkezetet [[. [. teszt, (()) vagy bármilyen más (vagy több) Linux-parancsot.

  • teszt - használt logikai összehasonlítás. expresszió után, neobhodima zárójel „]”
  • [- egyet jelent a teszt parancs
  • [[- továbbfejlesztett változata "[" (Version 2.02) (a képen), amelyen belül lehet használni || (Vagy) (S). Ha van zakryvayuschub konzol „]]”
  • (()) - matematikai összehasonlítása.

Az építési többszintes feltételeit a következő formában:

A rövidség és az olvashatóság, akkor lehetséges, hogy a szerkezet:

Feltételeket. feleletválasztós

Ha azt szeretnénk, hogy hasonlítsa össze megszűnt egy változó számos paramétert, akkor célszerű használni az esetben nyilatkozatot.

echo „Select a szerkesztő futtatni”

echo "1 Kiindulási nano program"

echo „2. futam vi”

echo "3 A program elindítása emacs"

olvasni csinál # itt olvasunk a változó $ csinál a standard input

/ Usr / bin / nano # ha $ 1 tartalmaz csinál, majd indítsa el a nano

/ Usr / bin / vi # ha $ 2 tartalmaz csinál, akkor fut vi

/ Usr / bin / emacs # ha $ 3 tartalmaz csinál, akkor fut emacs

*) # Ha megadott egy billentyűzet, amely nem szerepel az esetben tegye a következőket:

echo „Hibás akció”

esac # végződő szereplő ügyben.

Válassza a szerkesztő elindítása:

1 Kiindulási nano programot

2. futam vi

3. a program indításának emacs

Prvedu listája logikai operátorok, amelyeket az építési if-then-else-fi:

  • -z # karakterlánc üres
  • -n # vonal nem üres
  • = (==) # vonal
  • != # Sorok egyenlőtlen
  • -eq # értéke
  • -NE # egyenetlenül
  • -LT, (<) # меньше
  • -le (<=) # меньше или равно
  • -GT, (>) # Több
  • -ge, (> =) # nagyobb vagy egyenlő
  • ! # Negálását egy logikai kifejezés
  • -a () # logikai "ÉS"
  • -o, (||) # logikai "VAGY"

A nyelvének alapjait és kifejezések már rájöttek, hogy ne terhelje túl a cikk, ossza fel több részre (mondjuk 3). A második részben a ciklus és elemezze szereplők matematikai műveleteket.

Kapcsolódó cikkek