Ответ 1
Вы должны использовать bc при выполнении математики в оболочке
if [ `echo "3 % 2" | bc` -eq 0 ]
Я работаю над sh script, в котором я нахожусь в цикле WHILE, где переменная увеличивается на каждую итерацию, и я хотел бы сохранить файл каждые пять итераций.
То, что я обычно делал (скажем, на C), было бы сделать тест if ( n % 5 == 0)
, но я не знаю, возможно ли это здесь..? Если это не так, есть ли у кого-нибудь идеи, которые могли бы выполнить эту работу?
Ура!
Вы должны использовать bc при выполнении математики в оболочке
if [ `echo "3 % 2" | bc` -eq 0 ]
Если ваш sh действительно является sh, а не только bash выполняется как sh, тогда это будет работать просто отлично
if [ `expr $n % 5` -eq 0 ]
then
# do something
fi
Если ваш sh действительно bash, тогда поставьте свой тест в (( ))
так
if (( $n % 5 == 0 ))
then
# do something
fi