Hi leute habe ein skript zum obigen them geschrieben, und soll die Zahlen absteigend ausgegebenm, nur ich bekomme diese aufsteigend:
Code:
#! /bin/bash
#set -x
#Mit $1 und $2 rechnen
x=$1
y=$2
if test $# -ne 2 #Überprüfung auf Existenz der Parameter,-ne 2 nicht gleich 2 dann
then
echo "Beim aufruf müssen zwei Parameter mitgegeben werden" #kommt diese Meldung
else
echo " Parameter 1: $1 Parameter 2: $2 " #sonst werden die Werte der Parameter ausgegeben
if [ ! `echo $1 | grep -v "[^0-9]"` ]
then
echo "Es waren keine Zahlen"
exit
elif [ ! `echo $2 | grep -v "[^0-9]"` ]
then
echo "Es waren keine Zahlen"
exit
if test $1 -ge 99 #falls $1 >99
then
echo "zu groß" #zu groß( aufgabenstellung sagt, sollen von 1-99 sein #$1=y $2=x
echo "es dürfen nur zahlen von 1-99 eingegeben werden" #meldung
elif test $2 -ge 99 #falls $2 >99
then
echo "zu groß" #Meldung
echo "es dürfen nur zahlen von 1-99 eingegeben werden" #zu groß
fi #beendigug der if - abfrage
fi
fi
while [ $x -le $y ] #solange Parameter1<Parameter2
do
x=$[$x+1] #$1
z=$[$y-$x] #um hochzuzählen wurden den Parametern variablen gegeben bzw.Substitution , $1=x, $2=y
#immer +1 bei x solange while schleife true ist
echo $z
#ausgabe wert
if [ $x -gt $y ] #wenn der Inhalt bzw. der Parameter $1, der in x reingeschrieben wird > $2, der in y steht ist
then
echo " $x ist groesser als $y" #Meldung wird ausgegeben
exit #Beenden des Programms
fi #beendigung der if-Abfrage
done #beendigung der while Schleife