A szkript nyelvei (1. rész)

Kiválasztott példák felhasználásával ez az előadás megmutatja, hogy milyen kiterjedtek a shell-programok lehetőségei a Linux alatt. Különösen ez az első rész részletezi a rendszeres kifejezéseket, és áttekintést nyújt a sok olyan kis eszközről, amely rengeteg munkát képes elvégezni az Ön számára.

nyelvei

Áttekintés

Az alábbi áttekintés bemutatja az összes fontos metakaraktert, amely a reguláris kifejezésekben használható.

. Bármely szereplő számára áll. * A karakter tetszőleges számú előfordulását jelenti közvetlenül előtte. [. ] A szögletes zárójelbe tett karakterek egyikét jelöli. \ < n, m \>A közvetlenül előtte lévő egyetlen karakter ismételt előfordulását jelenti. ^ Feltételezi, hogy a sor elején a következő logikai feltétel teljesül. $ Feltételezi, hogy a sor végén a következő logikai feltétel teljesül. \ A következő karakter speciális jelentése törlődik. \ (\) A \ (és \) közé zárt mintát egy speciális pufferbe helyezi át. Legfeljebb kilenc minta menthető el egy sorban ily módon. \ n Az n-edik mintát jelenti, amelyet korábban a \ (és \) billentyűkombinációval mentettek.

Az egyes metakarakterek hatását némileg tisztázni kell a következő egyszerű példákkal.

Számtan

A bash lehetővé teszi a számtani számításokat. A $ [. ] a szokásos szabályok szerint értékelik. Az egész számtani számtani műveletek mellett a bitműveletek és a logikai műveletek egész sora támogatott.

A következő shell szkript paraméterként számot vár. 1-től ehhez a számhoz számít, másodpercenként egy szám jelenik meg.

A programok kimenete

A programok kimenetei könnyen használhatók egy shell szkriptben. Ez a `között. `A zárt parancsok ezen a ponton kerülnek végrehajtásra, és a parancs kimenete felhasználható a szkriptben.

Az alábbi példa a Postscript fájlok sorozatában olvassa el, hogy hány oldalt tartalmaznak, és összeadja az összes oldalt.

Fájl átirányítás

A Bash számos lehetőséget kínál a programok kimenetének átirányítására. Két különösen érdekes lehetőséget kell bemutatni.

1. A stdout és a stderr egyesítése

Sok program a kimenetét stdout és stderr fájlba írja. Ha mindkét adatfolyamot egy fájlba kívánja irányítani, akkor az alábbiak szerint járjon el:

A kifejezés azt jelenti, hogy a stderr kimenete átirányításra kerül az stdout fájlba, ami viszont a file_out fájlba kerül.

2. szám a stderr-en

Előfordul, hogy a parancsfájl kimenetét stderr-be akarjuk írni a shell parancs kimenetének elválasztása érdekében. Az echo és a fájl átirányításával ez a következőképpen lehetséges:

A kimenetek a stderr-n jelennek meg .

Itt dokumentumok

Az echo paranccsal és a fájl átirányításával új fájl hozható létre egy shell parancsfájlból:

Ha több sort akar folyamatosan beírni a fájlba, akkor a következő megoldás használható több visszhangsor helyett:

Bemeneti elválasztó

A következő probléma: A shell szkriptben egy szöveges fájlt kell mezőnként olvasni, a mezőket fülekkel kell elválasztani. Általában a következő sorokat adja meg

az állomány szóról szóra.

A sor különálló szavakra való szétválasztásához a Bash az IFS belső változót használja, amely tartalmazza az összes lehetséges elválasztót. Az IFS = alapértelmezés szerint itt van beállítva.

A fenti problémát a következő sorok oldják meg:

Beszélő óra

A shell programozás valamivel átfogóbb példája a beszélő óra. A Skirpt lényegében három különböző típusú órát sajátít el: beszélő órát, egyházi órát és kakukkos órát. Az első kettőnél negyedóránként jelenik meg az idő úgy, hogy kész hangfájlok segítségével bejelenti az időt, vagy ennek megfelelően megüt az óra. A kakukkóra minden órában mutatja az órák számát.

Az óra hívásának legegyszerűbb módja a crontab. Az óra használatához a következő hangfájlokra is szükség van.

Az alábbi áttekintés számos többé-kevésbé hatékony programot mutat be, amelyek különféle célokra használhatók a shell parancsfájlok írásakor.