Opérande de script Bash attendue

J’ai un petit problème avec cet extrait de code suivant et je ne sais pas pourquoi. L’erreur donnée est (ligne indiquée):

* 2: erreur de syntaxe: opérande attendu (le jeton d’erreur est “* 2”)

while [[ $numberServers -gt $newindex ]]; do serverPort=$((9001+$(($newindex*2)))) <--- This line clientPort=$(($serverPort+1)) newindex=$(($newindex+1)) localhostport=$((serverPort-2)) string=$(($string,localhost:$(($serverPort-2)))) ... 

Toute aide serait grandement appréciée.

Le problème est que la variable newindex est vide, donc l’expression est devenue:

 $((9001+$((*2)))) 

vérifiez l’initialisation de newindex .

Exemple:

 $ echo $((9001+$(($newindex*2)))) bash: *2: syntax error: operand expected (error token is "*2") $ newindex=4 $ echo $((9001+$(($newindex*2)))) 9009