Можно использовать более простой синтаксис в Bash, чем некоторые из других показанных здесь:
#!/bin/bash
read -p "Enter a number " number # read can output the prompt for you.
if (( $number % 5 == 0 )) # no need for brackets
then
echo "Your number is divisible by 5"
else
echo "Your number is not divisible by 5"
fi
Нет до н.э необходимый, пока это - целочисленная математика (Вам будет нужно до н.э для плавающей точки хотя): В ударе оператор (()) работает как expr.
Поскольку другие указали на операцию, которую Вы хотите, по модулю (%).
#!/bin/bash
echo "Enter a number"
read number
if [ $(( $number % 5 )) -eq 0 ] ; then
echo "Your number is divisible by 5"
else
echo "Your number is not divisible by 5"
fi
Как насчет того, чтобы использовать bc
команда:
!/usr/bin/bash
echo “Enter a number”
read number
echo “Enter divisor”
read divisor
remainder=`echo "${number}%${divisor}" | bc`
echo "Remainder: $remainder"
if [ "$remainder" == "0" ] ; then
echo “Your number is divisible by $divisor”
else
echo “Your number is not divisible by $divisor”
fi
Ответ Nagul является большим, но просто к вашему сведению, операция, которую Вы хотите, является модулем (или по модулю), и оператор обычно %
.