Salve a tutti
Ho questo esercizio:
Realizza uno script che accetta come parametro
sulla linea di comando un intero compreso tra 1
e 10 e chieda la tabellina ad esso relativa
Si leggano le risposte dell'utente e si calcoli un
punteggio di uno per ogni risposta esatta ed un
punteggio di 0 per ogni risposta sbagliata
Si concluda lo script visualizzando il punteggio
finale
che ho svolto in questo modo:
codice:
#!/bin/bash
read N
while [ "$N" -lt "1" -o "$N" -gt "10" ]
do
if [ "$N" -lt "1" -o "$N" -gt "10" ]
then
echo Inserire un numero compreso tra 1 e 10
read N
else
cont=0
for((i=0; i<=10; ++i))
do
echo $N x $i = ?
read ans
if [ "$ans" = "$(($N*$i))" ]
then
++cont
fi
done
fi
echo Il punteggio ottenuto è $cont
done
Quando lo eseguo, il terminale mi restituisce questo errore:
codice:
./es_13: riga 3: [: : attesa espressione intera
E' probabilissimo che sia una stupidata, visto che sono alle primissime armi, ma son due ore che ci sbatto la testa, e non riesco a risolvere in nessun modo...