case $# in 0) echo "usage : somme n"; exit ;; 1) expr $1 + 0 2>/dev/null>/dev/null if [ $? -ge 2 ] then echo "l'argument n'est pas un entier" exit fi if [ $1 -lt 0 ] then echo "argument negatif $1" exit fi s="0" i="0" while ( [ $i -le $1 ] ) do s=`expr $s + $i` i=`expr $i + 1` done echo "la somme des "$1" premiers entiers est : "$s;; *) echo "trop d'arguments"; exit;; esac