On Monday 01 March 2004 18.42, F�lix Hauri wrote:

Petit complement.

> En effet la commande
> $ echo $UneVariableNonDefinie
> ne r�pondra rien, de plus le code de retour sera 0 (Ok).

Je ne saurais recommander l'usage des {} de maniere systematique. Ceci evite 
bien des ambiguites. Par exemple :

$ myvariable=file
$ echo $myvariable23

$ echo ${myvariable}23
file23

En effet, dan sle premier echo, le shell considere 'myvariable23' comme un 
symbole. 

> En effet, le shell s'accomode tr�s bien de l'inexistance d'une variable, �
> tel point que le test ``[ $i -gt 0 ]'' g�n�rera une erreure si $i n'est
> pas d�fini.

Oui, c'est bien le comportement par defaut, en l'absence de l'option -u qui 
elle engendre une erreur pour tout usage de variable indefinie.

$ set -u

On peut aussi eviter ce genre d'erreur dans les tests (assez enervant !) en 
ecrivant :

[ "${i}" -gt 0 ]

La, ce ne sont pas les accolades qui evitent le probleme, mais l'usage des 
guillemets ("). Ainsi, si 'i' ne contient rien, nous aurons quand meme une 
valuer 'vide' existante qui poura etre comparee.

_______________________________________________
gull mailing list
[EMAIL PROTECTED]
http://lists.alphanet.ch/mailman/listinfo/gull

Répondre à