Calculer la variable et la transmettre à une autre variable

La seule calculasortingce que je connaisse est bc . Je veux append 1 à une variable, et la sortie à une autre variable.

J'ai la variable nextnum de countr la string dans un file:

 nextnum=`grep -o ssortingngtocount file.tpl.php | wc -w` 

Disons que la valeur nextnum est 1 . Lorsqu'il est ajouté avec 1 , il deviendra 2 . Pour calculer, je cours:

 rownum=`$nextnum+1 | bc` 

mais a eu une erreur:

 1+1: command not found 

J'ai juste échoué dans la partie de calcul. J'ai essayé de changer l'arrière mais ne fonctionne toujours pas. Je n'ai aucune idée de la façon de calculer les variables et de les transmettre à une autre variable.

La sous-string à l'intérieur du ` ` doit être une command valide elle-même:

 rownum=`echo $nextnum+1 | bc` 

Mais il est préférable d'utiliser $( ) au lieu de ` ` :

 rownum=$(echo $nextnum+1 | bc) 

Mais il n'y a pas besoin de bc , le shell est capable de faire l'arithmétique entière :

 rownum=$((nextnum+1)) 

Ou même plus simple dans bash et ksh :

 ((rownum=nextnum+1)) 

Vous pouvez également utiliser l'arithmétique embeddede dans bash

 rownum=$((nextnum+1)) 

ce qui serait légèrement plus rapide

Si vous préférez une command standard, vous pouvez utiliser la command let, comme let rownum=$nextnum+1 rownum=$((nextnum+1)) ou ((rownum=nextnum+1)) let rownum=$nextnum+1

Tout à fait raison et compléter les solutions proposées, juste pour mentionner la façon dont il doit être fait dans les time anciens où seulement le Bourne-Shell était disponible, c'est comme ça qu'il aime:

 rownum=`expr $nextnum + 1`