Ciklusszervezesnel megis honnan lesz ciklusszamlalo leptetes? Szerintem eleg kevesen vannak ma mar, akik leirnak ilyeneket:
a=1
while [ "$a" -le 1000000 ] ; do
BLABLA
a=`expr "$a" + 1`
done
pedig itt pont az tortent, hogy az original Bourne-shell-nek nem volt aritmetikai muvelete, ezert aztan kenytelen volt az ember ilyen nyakatekert (es mint elottem mar jeleztek - iszonyat eroforraspazarlo modon) leptetni egy rohadt ciklusvaltozot.
Anno az eredeti Bourne-shellhez kepest a C-shell nagyon sok extra funkciot hozott be (iszonyat szarul implementalva, de mindegy), tobbseguk az interaktiv hasznalatot volt hivatott kenyelmesebbe tenni (history pl.), de bizony az ertekadashoz bevezetett @ parancs pontosan behozta az aritmetikai muveletvegzo kepesseget. Azt, hogy ez hasznos, mi sem bizonyitja jobban, mint az, hogy azota ez a lehetoseg minden shellben azota is letezik - legfeljebb nem a csh-ban bevezetett szintaxissal, lasd: (( a = a + 1 )) vagy a=$(( $a + 1 )) vagy a mar fent emlitett typeset -i a ; a=a+1 (jobb shellekben ezt is lehet ugy irni, hogy integer a, amugy)