Fun - Kamikáze kód..

Nem akarom megsérteni egyik kollégámat se ( tudom, hogy 1-2en olvassák az oldalt ), de ezen ma jót derültem, szóval leírom..

Szituáció: Van egy egyszerü kis kód, amivel kolléga szív, hogy miért nem megy.. Amikor odahív, hogy nézzek már rá kb az alábbit látom:

    cat nman_kill.sh
    #!/usr/bin/ksh

    for i in $(ps -ef |grep -v grep |grep nman |awk '{print $2}' )
    do
    kill -9 $i
    done

Kollégának meg nem megy a script, és nem érti miért.. MI lehet a bibi ( aki még nem jött rá, de ki akarja találni az ne olvasson tovább )
Na aki szemfüles az talán már észrevette a turpisságot az egész problémában: A script olyan jól sikerült, hogy nyomban felavanzsált kamikáze script-é, és mivel az összes nman-t killelte a progi ( kivétel a grep-hez tartozót, így a progi a gyilkolászást nyomban magával is kezdte :)) ( aki nem érti nézze meg a filenevet :))

Szóval újabb egyszerü példa, hogy mi emberek milyen egyszerü hibákon tudunk elcsúszni :)))

Hozzászólások

Erről egy klasszikus jutott az eszembe:
"Igazán elrontani valamit csak számítógéppel lehet..."

Kuldd be TheDailyWTF-re! Ott gyujtik az ilyeneket.

----
Sooner or later you had to talk, even if it was only because you'd run out of things to throw. - Pratchett
honlap készítés

killall -9 nman

--
Live free, or I f'ing kill you.

#!/usr/bin/ksh sort a figyelmedbe ajánlanám - ez sajna nem linux volt, és a killall se úgy működött, ahogy linux alatt megszoktuk ( holott nekem is ez volt az első elképzelésem )..
____________________________________
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: -"Üllj le és kuss legyen!"..

Ez konkrétan egy AIX.. pkill sincs.. killall az van ugyan de kicsit másként működik :)

    Syntax

    killall [ - ] [ -Signal ]

____________________________________
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: -"Üllj le és kuss legyen!"..

Lakótársam kollégája úgy írt át egy szkriptet, hogy egy ilyen sor lett benne:

rm -rf $dir/*

aztán kiderült, hogy a dir nem kapott értéket...