Je travaille sur un script sh dans lequel je suis dans une boucle WHILE où une variable est incrémentée à chaque itération, et je voudrais enregistrer un fichier toutes les cinq itérations.
Ce que je ferais normalement (disons en C) serait de faire un test if ( n % 5 == 0)
, mais je ne sais pas si c'est possible ici ..? Si ce n'est pas le cas, quelqu'un a-t-il des idées qui feraient le travail?
À votre santé!
Vous devez utiliser bc lorsque vous faites des calculs dans Shell
if [ `echo "3 % 2" | bc` -eq 0 ]
Si votre sh est vraiment sh et pas seulement bash exécuté comme sh, cela fonctionnera très bien
if [ `expr $n % 5` -eq 0 ]
then
# do something
fi
Si votre sh est vraiment bash, mettez votre test dans (( ))
ainsi
if (( $n % 5 == 0 ))
then
# do something
fi
if (($n%5==0))
then
# do something
fi