#!/bin/bash ##### Test ob Zahl eingegeben ##### if [ $# -eq 0 ]; then echo -n "Bitte geben Sie eine natürliche Zahl ein: " read n else n=$1 fi ##### Test ob eingegebene Zahl negativ ##### while [ $n -lt 0 ]; do echo -n "Zahl muss >=0 sein - bitte erneut eingeben: " read n done ##### Fakultaet von n berechnen ##### i=1 fak=1 fakold=1 while [ $i -le $n ]; do fak=`expr $fak \* $i` h=`expr $fak / $i` if [ $h -ne $fakold ]; then i=`expr $i - 1` echo "Wertebereich ueberschritten - Abbruch..." echo "Letzte korrekt berechnete Fakultaet: $i! = $fakold" exit fi i=`expr $i + 1` fakold=$fak done echo "Ergebnis: $n! = $fak"