Une ligne si la déclaration en bash

Je n'ai jamais programmé en bash... pourtant j'essaie de résoudre un problème pour un anchievement dans un jeu (codingame.com)

J'ai le code suivant:

for (( i=0; i<N-1; i++ )); do
   tmp=$(( sorted_array[i+1] - sorted_array[i] ));
   if [ $tmp < $result ]; then result=$tmp fi
done

Et cette erreur:

/tmp/Answer.sh: line 42: syntax error near unexpected token `done'at Answer.sh. on line 42
/tmp/Answer.sh: line 42: `done' at Answer.sh. on line 42

Je veux comparer des valeurs proches de mon tableau et de stocker le minimun diference entre eux... mais je ne peux pas comprendre comment le faire d'une instruction if dans bash

L'exécution de ce par le biais de shellcheck.net serait attraper quelques-uns des éléments qui, d'ailleurs, les gens ici n'ont pas.
Vous l'esprit -- if (( tmp < result )); then result=$tmp; fi est également une option, qui se débarrasse de la -lt vs < problème, et le potentiel pour la citation.

OriginalL'auteur RagnaRock | 2015-06-29