Bash - test sur la longueur d'une chaine

Fermé
Arrakis - 18 déc. 2007 à 14:04
 jj - 18 déc. 2007 à 14:31
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.
A voir également:

3 réponses

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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
18 déc. 2007 à 14:20
Salut,
if [ "${#rep}" = 0 ]; then
...
else
... 
fi
;-))
2
AAAAAAAH, evidemment :D

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

merci :)
1