Bash-Skript-Fehler: [i: Befehl nicht gefunden

Es wird angenommen, dass dieses Programm eine Zahl vom Benutzer akzeptiert und so viele Primzahlen druckt. Aus irgendeinem Grund funktioniert das Programm nicht. Ich bin neu im Bash-Scripting und dies ist mein erstes Programm. Für meine Augen scheint alles in Ordnung zu sein. Bitte sag mir, wo ich falsch gelaufen bin.

<code>echo Enter num
read n
i=2
j=2

for(( i=2; i <= n; i++ ))
do

for(( j=2; j < i-1; j++ ))
do

if [i % j == 0];
then
break
fi


if [i == j];
then
echo "  $i"
fi
done
done
</code>

Dies ist die Ausgabe, die ich bekomme

<code>Enter num
20
prime.sh: line 12: [i: command not found
prime.sh: line 18: [i: command not found
prime.sh: line 12: [i: command not found
prime.sh: line 18: [i: command not found
 .
 .
 .
</code>

Nachdem Sie die vorgeschlagenen Änderungen vorgenommen haben

<code>read -p "Enter a  number : " n
i=2
j=2
for(( i=2; i <= n; i++ ))
do
    for(( j=2; j <= i-1; j++ ))
    do
        if [ $(( i % j )) == 0 ]
        then
            break
        fi
        if [ i == j ]
        then
            echo "  $i"
        fi
    done
done
</code>

Ich konnte das Programm ausführen, aber es brachte kein Ergebnis

http://i.stack.imgur.com/Fd1se.png

Antworten auf die Frage(4)

Ihre Antwort auf die Frage