Я новичок в написании сценариев. Скрипт ниже проверяет, является ли введенное число простым числом или делится на 2. Почему нужна третья строка внизу (i = expr $i + 1
). Я прокомментировал эту строку, чтобы посмотреть, что будет делать скрипт, и висит скрипт. Пожалуйста, порекомендуйте.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 "
Нет необходимости в внешней команде 'expr'; используйте '$ (($ num% $ i))' вместо '\' expr $ num% $ i \ ''. – chepner
научитесь добавлять 'set -x' (и' set + x') для включения/выключения отладки, где вы увидите значение переменной, которое используется в каждой команде. В первый раз, когда выполняется строка 'expr', вы увидите' expr 2 + 1'. Удачи. – shellter