2011-11-30 17 views
11

Sto lavorando su uno script sh in cui mi trovo in un ciclo while in cui una variabile viene incrementato ogni iterazione, e mi piacerebbe salvare un file ogni cinque iterazioni.Calcolare modulo nello script sh

Quello che mi piacerebbe normalmente (ad esempio in C) sarebbe quella di fare un test di if (n % 5 == 0), ma io non so se sia possibile qui ..? Se non lo è, qualcuno ha qualche idea che possa portare a termine il lavoro?

Cheers!

risposta

16

Si dovrebbe usare aC quando fare matematica in guscio

if [ `echo "3 % 2" | bc` -eq 0 ] 
25

Se il vostro sh è davvero sh e non solo bash in esecuzione come sh allora questo funzionerà bene

if [ `expr $n % 5` -eq 0 ] 
then 
    # do something 
fi 

Se il vostro sh è davvero bash quindi metti il ​​tuo test in (()) così

if (($n % 5 == 0)) 
then 
    # do something 
fi 
Problemi correlati