Ich schreibe ein einfaches Bash-Skript, um die Anzahl der zufälligen Ziehungen von Karten zu zählen. Ich speichere diese in einem Array, und wenn ich die Ergebnisse ausgedruckt habe, drucke ich für jede 10 Mal, die diese Karte gezogen wird, ein einzelnes "*" in einer Art Histogramm-Ausgabeart.Sehr spezifische Fehler. BASH-Skript. Modulus-Operation
Obwohl ich halten diese Fehler zu erhalten, wenn auf Terminal Kompilieren:
"task1.sh: Leitung 29: 10%: syntax error: Operanden erwartet (Fehler-Token ist" % 10 „)
task1.sh: Linie 33:% 10: Syntaxfehler: Operand erwartet (Fehler-Token ist "% 10")“
scheinen kann nicht, warum, obwohl herauszufinden. Vielen Dank im Voraus für jede Hilfe.
#!/bin/bash
randomdraw(){
Suits="Clubs Diamonds Hearts Spades"
suit=($Suits)
Denominations="2 3 4 5 6 7 8 9 10 Jack Queen King Ace"
denomination=($Denominations)
num_suits=${#suit[*]}
num_denominations=${#denomination[*]}
declare -a numoccurences
declare -a suitoccurences
for ((x=0 ; $x<$loopnum ; x=$x+1));
do
((numoccurences[$((RANDOM%num_denominations))]++))
((suitoccurences[$((RANDOM%num_suits))]++))
done
}
echo "How Many Random Draws?: "
read loopnum
randomdraw loopnum
for ((x=0 ; $x<$num_denominations ; x=$x+1));
do
let "rounder=$((${numoccurences[x]} % 10))"
if [ $rounder -ge 5 ];
then
let "starnum=$(($((${numoccurences[x]}/10)) + 1))"
else
let "starnum=$((${numoccurences[x]}/10))"
fi
echo "${denomination[x]}: "
for ((k=0 ; $k<$starnum ; k=$k+1));
do
echo "*"
done
done
Vielen Dank für diese Hilfe .... – WallofKron
In meinem Code, sollte ich erklären starnum bis oben? – WallofKron
vergiss ... Ich löste das Problem. Danke Jungs für die Hilfe – WallofKron