Bash - test sur la longueur d'une chaine

Bonjour,

Comme dit dans le titre je cherche a tester la longueur d'une chaine en bash:

[code]
rep=`grep $req fichier`
if [ "${#rep}" = 0 ]; do
...
else
...
[/code]

la variable rep contient bien ce qui est attendu, et ${#rep} contient bien la longueur du retour de grep mais j'ai cette erreur :
[code]
line 7: erreur de syntaxe près du jeton `do' inattendu
line 7: `if [ "${#rep}" = 0 ]; do'
[/code]

j'ai essayé sans les double quote, avec -eq avec == mais rien a faire je n'y arrive pas.

une idée?
merci.
Configuration: Linux
Firefox 2.0.0.11

3 réponses

  1. req="echo"
    fichier="*"
    rep=`grep $req $fichier`

    if [ ${#rep} -eq 0 ]
    then
    echo "bon"
    else
    echo "pas bon"
    fi

    syntaxe du if et égalité numérique
    4
    1. Modérateur
      Salut,
      if [ "${#rep}" = 0 ]; then
      ...
      else
      ... 
      fi
      ;-))
      2
      1. AAAAAAAH, evidemment :D

        il devait y avoir une boucle a cet endroit dans le temps...

        merci :)
        1