~FUN - ksh basics :)

 ( Huncraft | 2010. szeptember 7., kedd - 14:13 )

Ha esetleg valaki tudni szeretné mi a különbség a különböző fajta programozók között :))

http://www.bolthole.com/solaris/ksh-sampleprog.html

Edit: Az oldal amúgy nagyon jól tükrözi a példákon keresztül, hogy egy egyszerű kis feladat esetén is mennyi mindenre illik/kell figyelni :)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

:) Ez mekkora már...

-pilisig-

Most picit megnyugodtam; kb. senior admin/systems programmer szinten szoktam megírni a saját scriptjeim [max. 1-2000 sorosak jelenleg], pedig attól még nagyon-nagyon sok minden választ el :)

--
A gyors gondolat többet ér, mint a gyors mozdulat.

Tudom itt inkabb a gondolkodasmod a lenyeg, de valahogy hianyolom belole a : ${EDITOR:=vi}, for f; do ..., stb szeru megoldasokat amikell newbie-k ritkabban talalkoznak.

Ez a kis szösszenet inkább szerintem arról szól, hogy ha van egy nagyon alap kis dolog amit meg akarsz csinálni, akkor is mennyi ellenőrzést kell beleiktatnod a kódba ahhoz, hogy nagyjából le tudd fedni a lehetséges hibák nagy %-át ( plusz ugye a kommentezés, ami a hiba feltárásban segít nagyban ). A további lehetséges scriptelési trükkök már más lapra tartoznak :)
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Igen ezt ertettem "gondolkodasmod" alatt. Csak hogyhamar senior system programmer meg akarmicsoda, szivessen lattam volna par trukkot. Nekem legalabbis ez a fun resze. :)
A hibakezeles meg pont az amivel altalaban senki nem szeret foglalkozni, ezert is jo ez a cikk, hogy felhivja ra a figyelmet.

Hibakereséssel most hagyjál.. kb 5 órája szopok azzal, hogy egy 500 MB plaintext logot átnyálazzak, hogy rájöjjek az app mi a picsért esett össze (*Éljen a virtualizáció*) :DD
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Uhh, reszvetem... :D Az a legjobb amikor meg reprodukalni se sikerul csak igy neha randomba tolja. :)

Most már megvan, de had ne mondjam, hogy milyen Root Cause Analyzes-t fogok rá adni ( a virtualizáció miatt van egy boxon belül szolid 63 gép, aztán egymástól lopkodták a CPU-t. A szegény gépnek meg hiába volt kiallokálva 8 virtual CPU, ha a többi gép ellopta a számítási kapacitást, aztán a proginak egyik fő funkciója timeoutra futott, aztán dobott egy hátast.. Most nézhetem át a teljes boxot, hogy valami értelmes design plan-t varázsoljak a 63 gép virtualizációjának csiszolására :))
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Na akkor megvan a programod. :)

Btw, ha mar ksh es trukkok akkor mksh forrasaban erdemes ranezni check.t-re. :)

Szerintem meg az egesz baromsag. hiba ellenorzes meg kommentek meg dokumentacio egy ksh scriptbe.. Az meg hogy a 3.dik verzio olvashatobb lenne mint az elso egyenesen vicces.
Annak is sok ertelme van hogy elfogd a hasznalt eszkozok hibauzeneteit es ujakat gyartsal helyettuk..
==
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.

A saját error code-ok pedig nagyon is hasznosak tudnak ám lenni, főleg ha OO-ban gondolkodsz (scriptelésnél nem gyakori, de előfordul, hogy 1ik script a másik számára ad át értékeket, és a különböző feldolgozott adatokkal ping-pongoznak). A commentelés pont azét kell, hogy lásd, hogy te, vagy más kb mit akart megvalósítani az adott résznél (ebből amúgy arra is könnyebben rá lehet jönni, ha az elmélet jó volt, csak az implementálás sikerült xarul).
A hiba ellenőrzés, meg sorry, de must have.. Utálom az olyan kódot, ahol csak annyit nyökög a script, hogy "Sorry,something was wrong... terminating.." Igen is nézze meg mi volt a baja, és minimum egy olyan üzenetet dobjon elém ami nem igényli, hogy a teljes kódsort végignyálazzam, meg dbx/set -x/whateva alatt indítsam, hogy meg tudjam fogni a gázos pontot..
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Oszintent szolva engem is hasonlo erzes fogott el elsore, de aztan belegondoltam, hogy lof..t nem tudok sccs-rol, meg hogy milyen igenyek merulnek fel a hasznalatakor ami meg felvethet hibalehetoseget es ez lessz a vege.

Viszont EDITOR-nak es PATH-nak imho profile/kshrc-ben a helye.

Igen, de kell esszeru alternativat adni akkor is, ha veletlenul nincs editor valtozo, kulonben a kicheckoutolt fajlt akarna futtatni, ami - valljuk be - nem tul jo otlet. Egy EDITOR=${EDITOR:-vi} boven elfer.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Jogos.

basszus. Az elso 3 verzional vegig szarul kezelte a parametereket a $@-cal. Az utolsonal mar (majdnem) jol leirja, hogy "$@" kell (bar a megjegyzes a "$*" -rol *igy* baromsag), ellenben padlot fogtam ettol:

PATH=$PATH:/usr/ccs/bin
if [ ! -x /usr/ccs/bin/sccs ] ; then
	print ERROR: sccs not installed on this machine. Cannot continue.
	usage
	exit 1
fi

Mi a lof@sznak allitja at a PATH-t, ha utana eleresi utvonallal teszteli????? Es mi van akkor ha nekem van sccs parancsom a /usr/bin-ben? A kod maradek resze lefutna, ellenben mar itt kilep. Szuper. (Megjegyzes, az sccs parancs mint olyan eleg sok regi rendszerben egyaltalan nem volt implementalva, hanem kellett hivogatni az SCCS nativ parancsait.) Azt nem mondanam, hogy ma nagyon megerne megtanulni, de ra lehet keresni a GNU CSSC nevu klonjara - kisse regen nem foglalakoznak vele amugy :-)

Nekem is az jutott elsore eszembe, hogy miert nem which-csel tesztel elobb, es azutan modositgatja a pathet, es tesztel megint which-csel. UNIX-okon nem lenne which?
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

de van

--
A gyors gondolat többet ér, mint a gyors mozdulat.

Na meg ottvan ksh builtin whence-je.