Я преобразовал одну функцию из C языка на Unix КШ сценария и ниже приведен кодMod (%) не является идентификатором Unix КШ
function greg_julian
{
typeset -i long_date=$1;
print "$scriptname ld $long_date" 1>&2; # Prints 20160121
set days -9999 0 31 59 90 120 151 181 212 243 273 304 334;
if [[ $long_date < 101 ]] then
return 0;
fi
typeset -i yy=$long_date/10000;
typeset -i mm=$long_date/100 % 100;
ymod=$(($yy % 4))
if [[ $ymod -eq 0 && $mm -gt 2 && $yy -ne 0 ]] then
dm=1;
else
dm=0;
fi
echo $yy*1000 + ${days[$mm]} + $long_date % 100 + $dm;
}
я получаю ошибку, как показано ниже. Пробовал удаление пространства около%. но та же ошибка. Я не могу разобраться в ошибке, пожалуйста, помогите.
greg_julian[87]: %: is not an identifier
Вы также можете использовать что-то вроде 'пусть результат = 16% 5' вычислить по модулю в KSH. – mnille