T. I. N. T. F. M.

(This IsN't The F*cking Manual)

UNIX
a la Hamster

Tippek dióhéjban...

Kis tippek, ha véletlenül lenne UNIX-os accountunk valami félreeső Internetes gépen...Én magam (megrögzött sh/bash felhasznalóként) szeretek pár dolgot a helyén tudni, mivel túl öreg vagyok ahhoz, hogy új dolgokat tanuljak, ezért a képemre alakítom a .profile című fájlocskát (ami minden belépéskor végrehajtódik) néha, hogy kicsit kényelmesebb legyen az élet egy ilyen felhasználóbarátságtalan oprendszert használva is. (ezenfelül szeretnék benevezni a "Felesleges körmondatok olimpiájára" is,  a fentebbi rövidke megszólalásommal...:-) Mint arra mély megrendüléssel (ja, rossz szöveg) emlékezhetünk, eme fileocska akkor hajtódik végre, amikor belépünk a rendszerbe, és az az orrunk elé dob egy shellt, jobbára az sh-fajtából, másutt ugyebár más fájlt kell (és kicsit másképp) editálnunk (pl. .login vagy .zshrc vagy .bash_profile)... (további tipp: ha su-val lépünk át valamely más felhasználóhoz, a profile elvileg nem töltődik be, kivéve, ha első opciója egy kötőjel, így:

su - usernév
szóval ilyenkor mégis élvezhetjük eme feature benefitjeit (köszi, most sem vagyok rosszabbul, mint eddig bármikor ;-))... Mi legyen ebben a fájlban? Hát olyan dolgokat aliasolhatunk le, amelyeket gyakran használunk, és olyan változókat állíthatunk be, amelyekre gyakran szükségünk van.
if [ -s "$MAIL" ] 
# This is at Shell startup. In normal
then echo "[ Uj level gyutt ]" 
# operation, the Shell checks 
fi 
# periodically.
Ez itt csak annyit csinál, hogy belépéskor megnézi, van-e levelünk, előregyártott, még komment is van mellette (a # jellel ("hash mark") kezdődő sorok megjegyzések, azaz nem hajtódnak végre)... Nálam ezután az alias-hegyek következnek:
alias dir="ls -al"
DOS-kódereknek...
alias ircc="irc hAMSTEL" 
alias irccc="irc xhams"
iRC-kódereknek...
alias profile="pico ~/.profile"
.profile-kódereknek ;-)
alias labor="ssh labor.elte.hu" 
alias unicorn="ssh unicorn.sch.bme.hu" 
alias lord="ssh lord.banki.hu" 
alias thunder="telnet thunder.sch.bme.hu"
Telnet-mániákusoknak...
alias gumi="rlogin dlux.sch.bme.hu -l gumibot"
Ez is az, csak az -l után következő username-en jelentkezik be az adott gépre (csak hogy rlogin-t is lássunk...)
alias xs="cd"
Most mit röhögtök, ti sosem szoktatok PERMANENS módon egy karakterrel melléütni a klavin? :-)
alias valaki="finger rooot@makosteszta.sote.hu"
Asszem van ilyen is... #
export IRCNAME='Ne zavard a bacsit, nem latod, hogy halott?' 
#export IRCNAME='Utalom a lamereket,bar magammal mar kibekultem' 
#export IRCNAME='Joey J. Moore - it hurts, but i am free now' 
#export IRCNAME='Live another day - climb a little higher' 
export IRCNAME='Vigyazat, magasfeszultseg! 1 meter 88 centi.'
Nosztalgiából meghagytam a régebbi iRC-realname-jeimet is, nehogy az utókor kimaradjon ezek élvezetéből!
export IRCSERVER='irc.bme.hu' 
export NNTPSERVER='news.bme.hu'
Ez is teljesen érthető.
export EDITOR="pico"
Sokan káromkodnak, hogy az rtin (Usenet olvasó) és az elm (levelezőprogram) használatakor az az ostobabutakibírhatatlanundorító vi jön be, amivel nemhogy levelet nem lehet írni, de mást sem... Nos, ha van pico a gépen (a pine nevű levelezőprogrammal együtt bukkan fel, annak egy része), akkor csak ennyi szükséges a boldogsághoz, és az alapvető szövegszerkesztő az lesz, és nem a vi. Azért ez már egészen más, milyen kényelmesen lehet idézgetni/törölgetni és flamelni a UN-en, nem?:-)
mesg n
Na persze, majd hagyok mindenkit rámtalkolni, meg writeolni... Persze rakhatunk ebbe a fileba kis poénokat is. Például minden belépésnél szeretnénk látni kapásból, hogy kitől jött levelünk. Az alábbi script Antforce és én pillanatnyi elmezavarában jött létre, és nem mérvadó, hogy ezt lehet csinálni, de azért nem töröltem le:
#echo Ugrunk egy sort lejjebb, hogy ne legyen zavaros a képernyő. 
echo q > a.tmp
Csinálunk egy a.tmp nevű fáljt, ami egy darab 'q' betűt tartalmaz.
mail < a.tmp
Elindítjuk a mail programot, ami kapásból kiírja a levelesládánk tartalmát. Igen ám, de mi nem akarunk a mailben maradni, ezért kilépünk, ehhez 'q'-t kéne nyomnunk, de ezt a shell megteszi helyettünk, mikor az a.tmp tartalmát, azaz egy darab q betűt átnyomatja a mail-nek, aki exitál...
rm a.tmp
Letöröljük az a.tmp-t, nehogy nyoma maradjon lámaságunknak.
echo
Legyen még egy üres sorunk is! Persze jobb helyeken (ahol van) ezt a levéllista kiiratást elvégzi az
frm
nevű programocska is. Persze scriptet írni hangulatos dolog, pláne, ha az ember utána a mail üzeneteiből kiszedné a lényegtelen sorokat, aztán pedig kiemelné a levelek feladóját és a subjectet, de ezt most nem includeolom (tippek: grep, sort, cut)... Persze egy .profile elvileg komoly környezeti és rendszerváltozókat állítana be, de általában ezt a rendszer megteszi az /etc/profile alapján, kivéve, ha nem... Néhány további állítgatható környezeti változó:
HOME = az otthonunk helye a rendszerfában (de szépen mondtam:)
PATH = ez ismerős lehet valahonnan
MAIL = hol van a levelesláda
MAILCHECK = mennyi időnként nézze meg a shell, hogy van-e postánk?
TERM = termináltípus
PS1,PS2 = ezek IBM gépek... ja nem, elsődleges meg miisjönazegyután- lagos promptok
Ezeket a változókat mindazonáltal nem feltétlenül kell buherálgatnunk, mert mint azt már írtam, a shell megteszi magától, viszont későbbi esetleges scriptjeinkben felhasználhatjuk az értékeiket. Egy környezeti változó értékét $VÁLTOZÓNÉV formában lehet lekérdezni, pl.:
echo $TERM
kiírja a TERM változó tartalmát. De most inkább pihenjünk, és próbáljuk meg felhasználni véres izzadtság árán megszerzett tudásunkat, valamikor meg majd folytatom...

Vissza