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 для задания: команда вычисления арифметической оценки: