Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de script... simpliste ?

18 réponses
Avatar
David BERCOT
Bonjour,

J'ai un petit probl=C3=A8me avec un script et j'avoue que je n'y comprends
plus rien...
Voici le probl=C3=A8me :
<script mon_script>
#!/bin/sh
lieu=3D"$1"
if [ "$lieu" =3D=3D "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 =C3=A9criture que j'ai
d=C3=A9j=C3=A0 utilis=C3=A9e tr=C3=A8s tr=C3=A8s souvent...
Un probl=C3=A8me d'interpr=C3=A9teur ? De syntaxe ???

J'avoue que, si vous aviez une piste, =C3=A7a 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

10 réponses

1 2
Avatar
Jean-Michel OLTRA
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
Avatar
Jean-Yves F. Barbier
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
Avatar
David Hautbois
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
Avatar
Sylvain Sauvage
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
Avatar
Etienne CROMBEZ
--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><div class="gmail_quote"><br><blockquote class="gmail_quote" style ="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; p adding-left: 1ex;">Bonjour,<br>
<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
Avatar
Stephane Bortzmeyer
On Wed, Aug 26, 2009 at 08:34:32PM +0200,
Etienne CROMBEZ wrote
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
Avatar
Stephane Bortzmeyer
On Wed, Aug 26, 2009 at 08:25:14PM +0200,
David BERCOT wrote
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
Avatar
David BERCOT
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 a écrit :
On Wed, Aug 26, 2009 at 08:34:32PM +0200,
Etienne CROMBEZ wrote
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
Avatar
Stephane Bortzmeyer
On Wed, Aug 26, 2009 at 09:01:20PM +0200,
David BERCOT wrote
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
Avatar
David BERCOT
Le Wed, 26 Aug 2009 21:06:59 +0200,
Stephane Bortzmeyer a écrit :
On Wed, Aug 26, 2009 at 09:01:20PM +0200,
David BERCOT wrote
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
1 2