Also habe ich die Beispiele einer While-Schleife nachgeschlagen und das Skript so zusammen und noch immer Probleme haben. Wenn ich raten sollte, würde ich es mit dem arithmetischen Teil der bc-Funktion sagen.Problem mit einer Bash-Schleife, die eine Ganzzahl verwendet
Ich möchte die Schleife zu laufen, bis ich tausend und dann zählte, wie oft es lief. Ich bin noch nicht im zählenden Teil des Skripts, da ich immer noch versuche, es zum Laufen zu bringen (ja, ich weiß, dass awk einfacher wäre). Diese
ist das, was ich bisher:
#!/bin/bash
total=120 #this will be a variable that is read in from a menu but 120 is ok for now
while [ $total -lt 1000000 ]
do
echo $total
total=$(bc<<<"scale=2;$total + $total * .1") #I don't know if I have to use "let" before total but it did not make a difference.
done.
ich mit der Linie eine Störung erhalte, die mit „total“ beginnt aber die Struktur des Befehls scheint alle Beispiele passen ich finden konnte. Was gibt?
Es gibt zwei Linien, die mit beginnen "total", aber ich würde erwarten, dass Sie einen Fehler in Zeile 3 bekommen, der mit 'While' beginnt, und ich würde erwarten, dass der Fehler' While: command not found' ist (das Schlüsselwort "while" wird nicht groß geschrieben). Sobald das behoben ist, würde ich erwarten, dass Fehler über "1.000.000" keine Ganzzahl sind. –
Wenn ich dies an der Eingabeaufforderung läuft, funktioniert es gut, aber in einer Schleife ... nicht so sehr insgesamt = 120 Gesamt = $ (bc <<< "Maßstab = 2; $ total + $ total * .1"); Echo $ total --und dann ist die Ausgabe 132.0 – Grunt