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


Anmelden zum Antworten