expr: Syntaxfehler
-
also was ist hier falsch bitte? wollte mal shell lernen doch es funktioniert schon am anfang alles nicht! z.B bei der berchnung der fakultät einer zahl
bis zur while schleife funktioniert alles doch danach ohohoh sage ich da nur!
und noch eine frage wie benutze ich die for schleife unter shell z.b. an diesem beispiel!1 #!/bin/sh 2 #überprüfen ob 1 argument eingegeben wurde 3 4 #wenn kleiner wie 1 dann einlesen 5 if [ $# -lt 1 ] 6 then 7 echo -n "Bitte eine Zahl eingeben: " 8 #wird die variable x eingelesn 9 read x 10 else 11 #sonst wird die eingabe der varibalen x übergeben 12 x=$1 13 fi 14 15 #ob es sich um zahlen handelt 16 zahlx=`expr match $x "\([0-9]*\)"` 17 #ob string leer ist 18 if [ -z $zahlx ] 19 then 20 echo "Keine zahl eingegeben du ******" 21 exit 1 22 fi 23 24 25 #ob die zahlen keine null sind 26 if [ $x -eq 0 ] 27 then 28 echo "adios misster keine nullen bitte" 29 exit 2 30 fi 31 32 33 echo "Die eingabe lautet fuer x: $x " 34 i=1 35 fakul=1 36 #die while schleife wird solange ausgeführt bis x==y ist 37 while [ $i -le $x ] 38 do 39 fakul=`expr $fakul * $i` 40 i=`expr $i + 1` 41 done 42 43 echo "Die fakultaet lautet $fakul !"
-
zeile 36 überlesen das war ein kommentar für den ggT
danke