Ich bin neu im Skripting. Das folgende Skript prüft, ob eine eingegebene Zahl eine Primzahl oder durch 2 teilbar ist. Warum wird die dritte Zeile von unten benötigt (i = expr $i + 1
). Ich habe diese Zeile kommentiert, um zu sehen, was das Skript tun würde und es hängt das Skript auf. Bitte beraten.Prime Number Script Checker
#! /bin/bash
echo -n "Enter a number: "
read num
i=2
while [ $i -lt $num ]
do
if [ `expr $num % $i` -eq 0 ]
then
echo "$num is not a prime number"
echo "Since it is divisible by $i"
exit
fi
i=`expr $i + 1`
done
echo "$num is a prime number "
Der externe Befehl 'expr' entfällt; Verwenden Sie $ anstelle des Ausdrucks $ num% $ i \ ' – chepner
lernen, 'set -x' (und' set + x') hinzuzufügen, um Debugging ein-/auszuschalten, wo Sie den Wert der Variable sehen, die in jedem Befehl verwendet wird. Sie würden 'expr 2 + 1' zum ersten Mal sehen, wenn die' expr' Zeile ausgeführt wird. Viel Glück. – shellter