Problème de script... simpliste ?

Le
David BERCOT
Bonjour,

J'ai un petit problème avec un script et j'avoue que je n'y comprends
plus rien
Voici le problème :
<script mon_script>
#!/bin/sh
lieu="$1"
if [ "$lieu" == "maison" ]; then
echo "maison"
else
echo "ailleurs"
fi
</script mon_script>

Et si je le lance :
$>./mon_script maison
[: 7: maison: unexpected operator
ailleurs

C'est pourtant une condition super basique avec une écriture que j'ai
déjà utilisée très très souvent
Un problème d'interpréteur ? De syntaxe ???

J'avoue que, si vous aviez une piste, ça m'arrangerait ;-)

Merci d'avance.

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Michel OLTRA
Le #19995041
Bonjour,


Le mercredi 26 août 2009, David BERCOT a écrit...


#!/bin/sh
lieu="$1"
if [ "$lieu" == "maison" ]; then
echo "maison"
else
echo "ailleurs"
fi



Et si je le lance :
$>./mon_script maison
[: 7: maison: unexpected operator
ailleurs



C'est pourtant une condition super basique avec une écriture que j'ai
déjà utilisée très très souvent...
Un problème d'interpréteur ? De syntaxe ???



J'avoue que, si vous aviez une piste, ça m'arrangerait ;-)



dash a encore frappé !

Perso, je suis resté sous Bash, comme un vieux schnok !


--
jm

A.E.L. Sarl (R.C.S CASTRES 490843240)
http://www.spidboutic.fr



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Jean-Yves F. Barbier
Le #19995031
David BERCOT a écrit :
#!/bin/sh
lieu="$1"
if [ "$lieu" == "maison" ]; then
echo "maison"
else
echo "ailleurs"
fi




#!/bin/sh
if [ "$1" = "maison" ]; then
echo "maison"
else
echo "ailleurs"
fi



--
Any resemblance to real persons, living or dead, is purely coincidental.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
David Hautbois
Le #19995021
Prem's :

...
if [ "$lieu" = "maison" ]; then
...

David.



David BERCOT wrote:
Bonjour,

J'ai un petit problème avec un script et j'avoue que je n'y comprends
plus rien...
Voici le problème :
<script mon_script>
#!/bin/sh
lieu="$1"
if [ "$lieu" == "maison" ]; then
echo "maison"
else
echo "ailleurs"
fi
</script mon_script>

Et si je le lance :
$>./mon_script maison
[: 7: maison: unexpected operator
ailleurs

C'est pourtant une condition super basique avec une écriture que j'ai
déjà utilisée très très souvent...
Un problème d'interpréteur ? De syntaxe ???

J'avoue que, si vous aviez une piste, ça m'arrangerait ;-)

Merci d'avance.

David.





--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Sylvain Sauvage
Le #19995001
Jean-Michel OLTRA, mercredi 26 août 2009, 20:32:37 CEST


Bonjour,



’soir,

Le mercredi 26 août 2009, David BERCOT a écrit...
[…]
> if [ "$lieu" == "maison" ]; then
[…]
> [: 7: maison: unexpected operator
[…]
dash a encore frappé !

Perso, je suis resté sous Bash, comme un vieux schnok !



man test
C’est =, pas == !

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Etienne CROMBEZ
Le #19995011
--000e0cd1d55abc8b5f04720fb3cf
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bonjour,

J'ai un petit problème avec un script et j'avoue que je n'y comprend s
plus rien...
Voici le problème :
<script mon_script>
#!/bin/sh
lieu="$1"
if [ "$lieu" == "maison" ]; then
echo "maison"
else
echo "ailleurs"
fi
</script mon_script>

Et si je le lance :
$>./mon_script maison
[: 7: maison: unexpected operator
ailleurs

C'est pourtant une condition super basique avec une écriture que j'a i
déjà utilisée très très souvent...
Un problème d'interpréteur ? De syntaxe ???

J'avoue que, si vous aviez une piste, ça m'arrangerait ;-)

Merci d'avance.

David.




Depuis peu, pour des raisons de sécurité, /bin/sh pointe sur /bin /dash et
non /bin/bash

au lieu de faire #!/bin/sh, mets #!/bin/bash

--000e0cd1d55abc8b5f04720fb3cf
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<br>
J&#39;ai un petit problème avec un script et j&#39;avoue que je n&#39; y comprends<br>
plus rien...<br>
Voici le problème :<br>
&lt;script mon_script&gt;<br>
#!/bin/sh<br>
lieu=&quot;$1&quot;<br>
if [ &quot;$lieu&quot; == &quot;maison&quot; ]; then<br>
       echo &quot;maison&quot;<br>
else<br>
       echo &quot;ailleurs&quot;<br>
fi<br>
&lt;/script mon_script&gt;<br>
<br>
Et si je le lance :<br>
$&gt;./mon_script maison<br>
[: 7: maison: unexpected operator<br>
ailleurs<br>
<br>
C&#39;est pourtant une condition super basique avec une écriture que j &#39;ai<br>
déjà utilisée très très souvent...<br>
Un problème d&#39;interpréteur ? De syntaxe ???<br>
<br>
J&#39;avoue que, si vous aviez une piste, ça m&#39;arrangerait ;-)<br>
<br>
Merci d&#39;avance.<br>
<br>
David.</blockquote><div><br>Depuis peu, pour des raisons de sécurità ©, /bin/sh pointe sur /bin/dash et non /bin/bash <br></div></div><br>au l ieu de faire #!/bin/sh, mets #!/bin/bash<br>

--000e0cd1d55abc8b5f04720fb3cf--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Stephane Bortzmeyer
Le #19994991
On Wed, Aug 26, 2009 at 08:34:32PM +0200,
Etienne CROMBEZ a message of 93 lines which said:

Depuis peu, pour des raisons de sécurité, /bin/sh pointe sur
/bin/dash et non /bin/bash

au lieu de faire #!/bin/sh, mets #!/bin/bash



Très mauvais conseil. Il vaut mieux réécrire le script de façon à être
portable sur tous ls Bourne shells.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Stephane Bortzmeyer
Le #19994981
On Wed, Aug 26, 2009 at 08:25:14PM +0200,
David BERCOT a message of 38 lines which said:

if [ "$lieu" == "maison" ]; then



Tu as fait trop de C ou de Perl...

if [ "$lieu" = "maison" ]; then

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
David BERCOT
Le #19995231
Merci pour vos réponses rapides ;-)

En fait, je fais plutôt du PHP où on va jusqu'au triple égal : '===' ;-)

Donc, le shell a changé. OK. Je passe donc avec le simple égal.

Merci.

David.

Le Wed, 26 Aug 2009 20:40:13 +0200,
Stephane Bortzmeyer
On Wed, Aug 26, 2009 at 08:34:32PM +0200,
Etienne CROMBEZ a message of 93 lines which said:

Depuis peu, pour des raisons de sécurité, /bin/sh pointe sur
/bin/dash et non /bin/bash

au lieu de faire #!/bin/sh, mets #!/bin/bash



Très mauvais conseil. Il vaut mieux réécrire le script de f açon à être
portable sur tous ls Bourne shells.



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Stephane Bortzmeyer
Le #19995311
On Wed, Aug 26, 2009 at 09:01:20PM +0200,
David BERCOT a message of 34 lines which said:

Donc, le shell a changé.



Non. Le Bourne shell a toujours utilisé le simple égal. Le double
égal était juste une tolérance de bash.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
David BERCOT
Le #19995431
Le Wed, 26 Aug 2009 21:06:59 +0200,
Stephane Bortzmeyer
On Wed, Aug 26, 2009 at 09:01:20PM +0200,
David BERCOT a message of 34 lines which said:

Donc, le shell a changé.



Non. Le Bourne shell a toujours utilisé le simple égal. Le double
égal était juste une tolérance de bash.



Et moi qui essayais de faire les choses bien ;-)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Publicité
Poster une réponse
Anonyme