OVH Cloud OVH Cloud

script shell : if

12 réponses
Avatar
Thomas
je veux ecrire qqch comme

if ( $1 = 'thomas' ) then

mais je ne trouve pas :

if: Expression Syntax.

qqn peut m'aider svp ?

--
"In a world without walls and fences, who needs windows and gates ?"
"petit Free qui devient grand, gêne les requins blancs"

2 réponses

1 2
Avatar
Stephane Chazelas
2004-09-22, 13:25(+00), Laurent Wacrenier:
Arnaud Launay écrit:
Hmm, me semble qu'il vaut mieux utiliser un truc du genre
if [ "xthomas" = "x$1" ];

Je ne sais plus quel est le cas particulier que ça évite, mais
j'ai dû tomber dessus une paire de fois.


Au cas ou "thomas" serait un élément de syntaxe de "test", sur
certains vieux shells :
[...]


Pas necessairement vieux, sur un Solaris 8, il y a le probleme
avec /bin/sh, /bin/ksh, /usr/xpg4/bin/sh et /bin/test.

La derniere version de dash (et probablement des shells des
*BSD) ont le probleme.

--
Stephane


Avatar
Stephane Chazelas
2004-09-22, 16:03(+02), Erwan David:
[...]
if [ "xthomas" = "x$1" ];

Je ne sais plus quel est le cas particulier que ça évite, mais
j'ai dû tomber dessus une paire de fois.


Ler cas ou $1 n'existe pas.


Comment ca ?

--
Stephane


1 2