Az állat, amely nem is olyan nehezen kezelhető - mintha kétszer ennyire lenne nehezen kezelhető. Ha megérted a jelrendszerét, akkor korlátlanul utasítgatható, kezes állat lesz belőle.

Amikor elkezd az ember ismerkedni a kagylóval, akkor még teljesen fölösleges ilyen mustárszekta jellegű vallásháborúkba belemenni, hogy most akkor a tcsh, a csh, vagy a zsh jobb-e a standard, uniformizált Bourne vagy Mármegintbourne alfajnál. Az alap utasítások általában véve ugyanúgy működnek mindegyik alfajnál, dialektustól függetlenül; ezen a részletkérdésen egymás torkának esni ráérünk haladóbb szinten.

 

Mégis, hogy megbizonyosodjunk afelől, hogy rendszerünk csakugyan a legelterjedtebb alfajt alkalmazza-e, egyszerűen rávehetjük a címszereplő állatot, hogy alfaját elárulja (környezeti változó kiírása). Júzerként, gyökérjogok nélkül is megtehető, hogy azt mondjuk:

$ echo $SHELL

Nagy valószínűséggel azt fogja felelni erre az állat, hogy

/bin/bash

A nahaaaaagy, misztikus shell script művészetnek az az alapja: a kagyló által végrehajtandó feladatokat egy külön filébe gyűjtjük öszve. Megértetjük a kagylóval, hogy ez végrehajtandó parancsfilé, aztán már rá is lehet szólni, hogy végrehajtsa. (Szánt szándékkal írom ennyire hülyén és "szakszerűtlenül". Szerintem egy kagylóújoncot csak elrettentene, ha túl szakszerűen írnám le mindezt.)

Meg tudjuk ugye csinálni parancssorból, hogy - akármit is. Az egyszerűség kedvéért egy egyszerű feladatot hajtsunk végre. Ilyet, hogy

$ echo "Mueeeeeeeeeeeeee!"

Erre a kagyló visszaírja szófogadóan, hogy

Mueeeeeeeeeeeeee!

, mi pedig ezután visszakapjuk a promptot.

Ha viszont túl lusták vagyunk ahhoz, hogy minden egyes alkalommal, amikor azt szeretnénk, hogy a kagyló ránk üvöltsön ilyen artikulálatlanul, akkor csak annyit kell tennünk, hogy egy végrehajtható filében megírjuk neki, hogyan üvöltsön.

Itt bevezethető némi tipikus Júnikzos intellektuálsznobkodás is: ha igazán tenni akarjuk az agyunk helyét, akkor még szövegszerkesztőt sem kell nyitnunk ahhoz, hogy megírjunk egy ilyen kagylóreceptet. Megcsinálhatjuk a dolgot így is, hogy

$ cat > mueee.sh

Ezután irkálhatunk, amit csak akarunk, a beírt szöveg a mueee.sh nevű file-ba fog kerülni. (Ha még nincs ilyen file, akkor innentől fogva már lesz.)

Mivel egy egyszerű shell scriptet szeretnénk, ezért legelőször is azt akarjuk, hogy a kagyló tudja, hogy ez egy shell script, amelyhez a /bin/bash helyen találja a szükséges binárisokat.

Ezt így mondhatjuk meg neki, hogy

#! /bin/bash

(a szkript egyébként enélkül is végrehajtható, csak akkor meg kell neki mondani a végrehajtáskor, hogy bash-sel hajtsa végre :}

A haSHmark és a felkiáltójel egymásutánját egyébként "shebang"-nek szokás nevezni.)

és ezután következhet a kívánságunk, vagy kívánságlistánk, hogy mit is várunk el a kagylótól.

Most ugye azt várjuk el, hogy ordítson. Ezért

echo "Mueeeeeeeeeeeeeee!"

kerül a "shebang" után.

Ezután csak annyi a dolgunk, hogy nyomunk egy Ctrl-D-t, ezzel kijutottunk a cat parancsból és visszakaptuk hőn szeretett promptunkat.

Vá-vá-várjunk csak! Ez így szép és jó, de ha nem hajtható végre, akkor csak dísznek alkalmas.

Ezért végrehajthatóvá kell tenni. A chmod-ot ugye ismerjük - futtatás 1 kredit, olvasás 2 kredit, írás 4 kredit, de a számértékek helyett betűket is használhatunk: 1 kreditért x, 2 kreditért r, 4 kreditért w jár.

Tehát írhatunk

$ chmod u+x mueee.sh

-et, és máris végrehajthatóvá válik a filénk.

Ideje kipróbálni.

$ ./mueee.sh

Ha minden jól megy, akkor a kagyló egy artikulálatlan ordítást fog kiírni hálából a fáradozásainkért.

Azonban, ha még ennél is lustábbak vagyunk, és még a ./ hozzáadása is túl sok kapacitást igényelne az elejére, akkor exportálhatjuk a szkriptet tartalmazó könyvtárunkat a parancsokat tartalmazó PATH-be. Ha ezt megtesszük, akkor a kagyló tudni fogja, hogy ebben a könyvtárban is utána kell néznie a parancsnak.

$ export PATH=$PATH:/home/júzerneved/szkriptkönyvtárad

Ne felejts el entert ütni, azért.

Most aztán kipróbálhatod, hogy működik-e?

$ mueee.sh

Ha minden jól megy, akkor a kagyló ebben a formában utasítva is el fogja magát ordítani, hogy:

Mueeeeeeeeeeeeee!

A kagylót ebben a formában rengeteg mindenfélére lehet utasítani. Az ordítás demonstratív célokkal szerepelt.