J'écris un script bash simple pour compter le nombre d'occurrences de tirages aléatoires de cartes. Je les stocke dans un tableau, et lors de l'impression des résultats, pour chaque 10 fois que cette carte est tirée, j'imprime un seul '*' dans une sorte de style d'histogramme de sortie.Erreurs très spécifiques. Script BASH. Fonctionnement du module
Bien que, je continue à recevoir cette erreur lors de la compilation sur Terminal:
"task1.sh: ligne 29:% 10: erreur de syntaxe: opérande attendue (jeton d'erreur est" % 10 «)
task1.sh: ligne 33: 10%: erreur de syntaxe: opérande attendue (jeton d'erreur est "% 10") »
peut sembler ne pas comprendre pourquoi si. Merci d'avance pour toute aide.
#!/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
merci pour cette aide .... – WallofKron
Dans mon code, dois-je déclarer starnum-haut? – WallofKron
nevermind ... J'ai résolu le problème. Merci les gars pour l'aide – WallofKron