Подтвердить что ты не робот

Как проверить, имеет ли переменная четное (не нечётное) числовое значение?

Как мне изменить это, чтобы проверить, имеет ли val четное или нечетное числовое значение?

val=2
if $((RANDOM % $val)); ...
4b9b3361

Ответ 1

$ a=4

$ [ $((a%2)) -eq 0 ] && echo "even"
even

$ a=3

$ [ $((a%2)) -eq 0 ] && echo "even"

Ответ 2

foo=6

if [ $((foo%2)) -eq 0 ];
then
    echo "even";
else
    echo "odd";
fi

Ответ 3

$(( ... )) является просто выражением. Его результат появляется там, где bash ожидает команду.

Решение, совместимое с POSIX, будет:

if [ "$(( RANDOM % 2))" -ne 0 ]; 

но поскольку RANDOM также не определен в POSIX, вы также можете использовать правильную команду bash для задания: команда вычисления арифметической оценки:

if (( RANDOM % 2 )); then