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.