Scripts - ez csak

Minden új Linux rendszergazda, előbb-utóbb szembesül olyan dolog, mint a „script”, függetlenül attól, hogy az egyik indítószkriptekkel mint /etc/rc.d/rc vagy írta a fejlesztő a szoftver konfiguráció a configure szkriptet. Ebben a cikkben megpróbálom megmutatni, hogy a shell script írás nem valami szokatlant és nagyon tud még egy kezdő a világon a Linux.

Kezdjük azzal, hogy nézd meg, mi van mögötte az angol kifejezések és shell script. Shell. vagy héj, ahogy ezt a kifejezést gyakran fordították - a parancsértelmező, a felület és a felhasználó között az operációs rendszer és a kernel. De eltekintve attól, hogy ez is egy erős programozási nyelv és script. Ez tartalmazza a hivatalos beszéd és ellenőrzési struktúrák, és lehetővé teszi, hogy írjon programok rajta. Egy ilyen program egy programozási nyelv nevű script. kombinálhatja a rendszer hívásokat és parancsokat az operációs rendszer, valamint a külső eszközöket, ami egy hatékony eszköz a rendszerfelügyelet.

A kiindulási pont

Tehát, először is meg kell érteni a szerkezet a forgatókönyvet. Ez nem egy nagy dolog. Nagyjából, egyszerű script - egyszerűen áthelyezik rendszer parancsokat. Például:

Ezek a parancsok egyesítjük egy fájlba. De a héj tudnia kell, hogy ő kezeli ezt a fájlt, és nem csak olvasni a tartalmát. Mert ez a különleges design: #!

Mi fog összpontosítani Bash, Bourne-Again shell. Ez a shell alapértelmezés szerint telepítve van szinte minden Linux-rendszerek, és a / bin / sh hivatkozik rá. A szkript végére mondja hivatalos szó kilép.

E tudással felvértezve, írhatunk első forgatókönyv:

A fájl mentése mint tutor1.sh. Futtassa a következő parancsot, hogy a forgatókönyvet végrehajtható.

script végrehajtásának eredményét a következő lesz:

Azt viszont, hogy a komolyabb.

Most, hogy már megtanult írni egyszerű script, itt az ideje lépni a súlyos kérdésekben: írásban szkriptek mentés.

Az első dolog, amire szükség van, hogy meghatározzák - egy biztonsági másolatot, hogy mit fogunk csinálni. Ezért a script képesnek kell lennie arra, hogy működjön együtt a parancssorban. A parancssori argumentumokat után adott szkript nevét a résen: somescript arg1 arg2 arg3. A szkript elfogadja érvek számok az utazás, így fogjuk használni a konstrukció típusát # 36; nomer_argumenta, azaz # 36; 1, 36 # 2, # 36; 3. # 36; - egy joker, ami lesz szükségünk, amikor dolgozik változó. A változók a script van beállítva formájában változó név = érték. Fogjuk használni változók MAXPARAMS, hogy meghatározzák a maximális számú parancssori, backupfile beállítani az archívum nevét, BackupDir a mappa mentés amely azt fogja csinálni, és ARCHIVEDIR mappát, hol fogunk tenni a fájlt. A legfontosabb része a script megkeresi csapatok és hát az összes fájl és mappa megtalálható ebben:

Lássuk, mi ezeket a parancsokat csinálni. olyan keresést az aktuális könyvtárban (amint az az első érv „”) az összes fájlt, és adja meg a teljes elérési meg (-print0). Ezeket az útvonalakat átirányítja a tar, amely összegyűjti az összes fájlt egy. Aztán gzip paranccsal archiváljuk a kapott tar-fájlt. Command> / dev / null akkor hasznos, ha adatarchiváláskor nagyszámú fájlokat. Ebben az esetben a nevüket és a teljes elérési utat, hogy nem jelenik meg a konzolon.

A következő lépés az, hogy tippeket, hogy a felhasználó hogyan kell használni a forgatókönyvet, ha nem hibázni.

Például ez a kialakítás

mondani, hogy a felhasználó rendelkezik elegendő számú parancssori paramétereket. Ha a [állapot]. fi meghatározza a feltételes konstrukciót. # 36; # -lt „# 36; MAXPARAMS” Permission ellenőrzi a paraméterek számát, és ha ez a szám kevesebb, mint MAXPARAMS, a felhasználó látni fogja üzenetet értéke érvénytelen. Exit 0 hatására a forgatókönyvet, hogy hagyja abba munkáját, anélkül, hogy a hibakódot. Hasonlóképpen ellenőrzött meghaladhatja a megengedhető paraméterek száma, hanem az ls (kevesebb, akkor - kisebb, mint) kell adnia GT (nagyobb, - előre). Most, hogy a fő pontjai a script magyarázható, akkor folytassa a teljes verzió is:

Ui Sok köszönet mar az észrevételeit és tanácsadás.