[#!/fr] Test avec des char "operators"

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Nicolas Michel
Date:  
À: La liste francophone des scripts shell
Sujet: [#!/fr] Test avec des char "operators"
Hello

Toujours dans mon script de recherche de noms de fichiers plantogènes,
je recherche les fichiers qui se terminent par un espace et un point.

A priori c'est assez basic, mais lorsque la dernière lettre du fichier est un "!" ou un "=", ça génère une erreur :

$ le_fichier='nom à la con !'
$ if [ "${le_fichier:(-1)}" = " " -o "${le_fichier:(-1)}" = "." ]
then
echo \"$le_fichier\" se termine par un espace
fi
-bash: [: too many arguments

Si j'ai tout compris, le test est lu comme ceci :

[ ! = " " -o ! = "." ]

C'est à dire que le ! est interprété comme un opérateur et non comme un caractère à tester.

Comment faire un tel test ?

Merci !

Nicolas

--
Nicolas Michel
Rivage 9, 1400 Yverdon,
CH - Suisse
Natel : 079 947 60 20

_______________________________________________
archives :
http://listes.patpro.net/list/sshfr.fr.html
http://listes.patpro.net/mailman/listinfo/script_shell_fr