Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des
noms de fichier sont bien indique, j'essaie de teste avec la valeur vide
mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1"
donnees="$2"
if (test $controle="") then
echo "erreur: fichier de controle non specifie";
exit;
fi
if (test $donnees="") then
echo "fichier csv non specifie";
exit;
fi
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des noms de fichier sont bien indique, j'essaie de teste avec la valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le test :<br><br>
<br>controle="$1"<br>donnees="$2"<br>if (test $controle="") then<br> echo "erreur: fichier de controle non specifie";<br> exit;<br>fi<br>if (test $donnees="") then<br>
echo "fichier csv non specifie";<br> exit;<br>fi<br><br><br>ou est mon erreur ??<br><br>merci d'avance<br>
------=_Part_81277_13001058.1152086002465--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillaume
jerome kaluza wrote:
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des noms de fichier sont bien indique, j'essaie de teste avec la valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1" donnees="$2" if (test $controle="") then echo "erreur: fichier de controle non specifie"; exit; fi if (test $donnees="") then echo "fichier csv non specifie"; exit; fi
ou est mon erreur ??
merci d'avance
je suis pas un tueur en shell script.... mais je l'écrirais comme ca ton script si j'ai bien compris ce que tu veux faire....
-------------- #!/bin/bash
controle=$1 donnees=$2 if [ -z $controle ]; then echo "erreur: fichier de controle non specifie" exit 1 fi if [ -z $donnees ]; then echo "fichier csv non specifie" exit 1 fi
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
jerome kaluza wrote:
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont
des noms de fichier sont bien indique, j'essaie de teste avec la valeur
vide mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1"
donnees="$2"
if (test $controle="") then
echo "erreur: fichier de controle non specifie";
exit;
fi
if (test $donnees="") then
echo "fichier csv non specifie";
exit;
fi
ou est mon erreur ??
merci d'avance
je suis pas un tueur en shell script....
mais je l'écrirais comme ca ton script si j'ai bien compris ce que tu
veux faire....
--------------
#!/bin/bash
controle=$1
donnees=$2
if [ -z $controle ]; then
echo "erreur: fichier de controle non specifie"
exit 1
fi
if [ -z $donnees ]; then
echo "fichier csv non specifie"
exit 1
fi
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des noms de fichier sont bien indique, j'essaie de teste avec la valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1" donnees="$2" if (test $controle="") then echo "erreur: fichier de controle non specifie"; exit; fi if (test $donnees="") then echo "fichier csv non specifie"; exit; fi
ou est mon erreur ??
merci d'avance
je suis pas un tueur en shell script.... mais je l'écrirais comme ca ton script si j'ai bien compris ce que tu veux faire....
-------------- #!/bin/bash
controle=$1 donnees=$2 if [ -z $controle ]; then echo "erreur: fichier de controle non specifie" exit 1 fi if [ -z $donnees ]; then echo "fichier csv non specifie" exit 1 fi
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
laurent besson
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit :
#!/bin/bash
controle=$1 donnees=$2 if [ -z $controle ]; then
Il y a un _ESPACE_ de trop entre $controle et ]
echo "erreur: fichier de controle non specifie" exit 1 fi if [ -z $donnees ]; then
idem
echo "fichier csv non specifie" exit 1 fi
exit 0
Sinon c'est bon !
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit :
#!/bin/bash
controle=$1
donnees=$2
if [ -z $controle ]; then
Il y a un _ESPACE_ de trop entre $controle et ]
echo "erreur: fichier de controle non specifie"
exit 1
fi
if [ -z $donnees ]; then
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit :
#!/bin/bash
controle=$1 donnees=$2 if [ -z $controle ]; then
Il y a un _ESPACE_ de trop entre $controle et ]
echo "erreur: fichier de controle non specifie" exit 1 fi if [ -z $donnees ]; then
idem
echo "fichier csv non specifie" exit 1 fi
exit 0
Sinon c'est bon !
pascal
Guillaume a écrit :
jerome kaluza wrote:
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des noms de fichier sont bien indique, j'essaie de teste avec la valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1" donnees="$2" if (test $controle="") then echo "erreur: fichier de controle non specifie"; exit; fi if (test $donnees="") then echo "fichier csv non specifie"; exit; fi
ou est mon erreur ??
merci d'avance
je suis pas un tueur en shell script.... mais je l'écrirais comme ca ton script si j'ai bien compris ce que tu veux faire....
-------------- #!/bin/bash
controle=$1 donnees=$2 if [ -z $controle ]; then echo "erreur: fichier de controle non specifie" exit 1 fi if [ -z $donnees ]; then echo "fichier csv non specifie" exit 1 fi
exit 0 --------------
A plus Guillaume
Guillaume a raison mais ce que tu écris pourrais marcher avec if test -z "$donnees"; then ... Pascal
-- Haut par-dessus leur tête voguaient les blanches sculptures des nuages, comme en la cervelle de Michel-Ange des volutes de concept. M. Lowry
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Guillaume a écrit :
jerome kaluza wrote:
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui
sont des noms de fichier sont bien indique, j'essaie de teste avec la
valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le
test :
controle="$1"
donnees="$2"
if (test $controle="") then
echo "erreur: fichier de controle non specifie";
exit;
fi
if (test $donnees="") then
echo "fichier csv non specifie";
exit;
fi
ou est mon erreur ??
merci d'avance
je suis pas un tueur en shell script....
mais je l'écrirais comme ca ton script si j'ai bien compris ce que tu
veux faire....
--------------
#!/bin/bash
controle=$1
donnees=$2
if [ -z $controle ]; then
echo "erreur: fichier de controle non specifie"
exit 1
fi
if [ -z $donnees ]; then
echo "fichier csv non specifie"
exit 1
fi
exit 0
--------------
A plus
Guillaume
Guillaume a raison mais ce que tu écris pourrais marcher avec
if test -z "$donnees"; then ...
Pascal
--
Haut par-dessus leur tête voguaient les blanches sculptures
des nuages, comme en la cervelle de Michel-Ange des volutes
de concept.
M. Lowry
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des noms de fichier sont bien indique, j'essaie de teste avec la valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1" donnees="$2" if (test $controle="") then echo "erreur: fichier de controle non specifie"; exit; fi if (test $donnees="") then echo "fichier csv non specifie"; exit; fi
ou est mon erreur ??
merci d'avance
je suis pas un tueur en shell script.... mais je l'écrirais comme ca ton script si j'ai bien compris ce que tu veux faire....
-------------- #!/bin/bash
controle=$1 donnees=$2 if [ -z $controle ]; then echo "erreur: fichier de controle non specifie" exit 1 fi if [ -z $donnees ]; then echo "fichier csv non specifie" exit 1 fi
exit 0 --------------
A plus Guillaume
Guillaume a raison mais ce que tu écris pourrais marcher avec if test -z "$donnees"; then ... Pascal
-- Haut par-dessus leur tête voguaient les blanches sculptures des nuages, comme en la cervelle de Michel-Ange des volutes de concept. M. Lowry
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit: > #!/bin/bash > > controle=$1 > donnees=$2 > if [ -z $controle ]; then Il y a un _ESPACE_ de trop entre $controle et ] > echo "erreur: fichier de controle non specifie" > exit 1 > fi > if [ -z $donnees ]; then idem > echo "fichier csv non specifie" > exit 1 > fi > > exit 0
<br><br><div><span class="gmail_quote">Le 05/07/06, <b class="gmail_sen dername">laurent besson</b> <<a href="mailto:">lo </a>> a écrit :</span><blockquote class="gmail_qu ote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0p t 0.8ex; padding-left: 1ex;"> Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit:<br>> #!/bin/bash< br>><br>> controle=$1<br>> donnees=$2<br>> if [ -z $control e ]; then<br>Il y a un _ESPACE_ de trop entre $controle et ]<br> > echo "erreur: fichier de contr ole non specifie" <br>> exit 1<br>> fi<br>> if [ -z $donnees ]; then<br>idem<br>>   ; echo "fichier csv non specifie"<br>> & nbsp; exit 1<br>> fi<br>><br>> exit 0<br><br>Sinon c'es t bon !<br><br></blockquote> </div>merci ca marche bien =))<br>
------=_Part_81907_13008807.1152087652185--
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le 05/07/06, laurent besson <lolo@system-linux.net> a écrit :
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit:
> #!/bin/bash
>
> controle=$1
> donnees=$2
> if [ -z $controle ]; then
Il y a un _ESPACE_ de trop entre $controle et ]
> echo "erreur: fichier de controle non specifie"
> exit 1
> fi
> if [ -z $donnees ]; then
idem
> echo "fichier csv non specifie"
> exit 1
> fi
>
> exit 0
<br><br><div><span class="gmail_quote">Le 05/07/06, <b class="gmail_sen dername">laurent besson</b> <<a href="mailto:lolo@system-linux.net">lo lo@system-linux.net</a>> a écrit :</span><blockquote class="gmail_qu ote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0p t 0.8ex; padding-left: 1ex;">
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit:<br>> #!/bin/bash< br>><br>> controle=$1<br>> donnees=$2<br>> if [ -z $control e ]; then<br>Il y a un _ESPACE_ de trop entre $controle et ]<br> > echo "erreur: fichier de contr ole non specifie"
<br>> exit 1<br>> fi<br>> if [ -z $donnees ]; then<br>idem<br>>   ; echo "fichier csv non specifie"<br>> & nbsp; exit 1<br>> fi<br>><br>> exit 0<br><br>Sinon c'es t bon !<br><br></blockquote>
</div>merci ca marche bien =))<br>
------=_Part_81907_13008807.1152087652185--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit: > #!/bin/bash > > controle=$1 > donnees=$2 > if [ -z $controle ]; then Il y a un _ESPACE_ de trop entre $controle et ] > echo "erreur: fichier de controle non specifie" > exit 1 > fi > if [ -z $donnees ]; then idem > echo "fichier csv non specifie" > exit 1 > fi > > exit 0
<br><br><div><span class="gmail_quote">Le 05/07/06, <b class="gmail_sen dername">laurent besson</b> <<a href="mailto:">lo </a>> a écrit :</span><blockquote class="gmail_qu ote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0p t 0.8ex; padding-left: 1ex;"> Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit:<br>> #!/bin/bash< br>><br>> controle=$1<br>> donnees=$2<br>> if [ -z $control e ]; then<br>Il y a un _ESPACE_ de trop entre $controle et ]<br> > echo "erreur: fichier de contr ole non specifie" <br>> exit 1<br>> fi<br>> if [ -z $donnees ]; then<br>idem<br>>   ; echo "fichier csv non specifie"<br>> & nbsp; exit 1<br>> fi<br>><br>> exit 0<br><br>Sinon c'es t bon !<br><br></blockquote> </div>merci ca marche bien =))<br>
------=_Part_81907_13008807.1152087652185--
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Guillaume
jerome kaluza wrote:
Le 05/07/06, *laurent besson* <mailto: a écrit :
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit: > #!/bin/bash > > controle=$1 > donnees=$2 > if [ -z $controle ]; then Il y a un _ESPACE_ de trop entre $controle et ] > echo "erreur: fichier de controle non specifie" > exit 1 > fi > if [ -z $donnees ]; then idem > echo "fichier csv non specifie" > exit 1 > fi > > exit 0
Sinon c'est bon !
merci ca marche bien =))
c'est sensible à l'espace en trop parce que j'ai pas mis les "" autour des variables !!
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
jerome kaluza wrote:
Le 05/07/06, *laurent besson* <lolo@system-linux.net
<mailto:lolo@system-linux.net>> a écrit :
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit:
> #!/bin/bash
>
> controle=$1
> donnees=$2
> if [ -z $controle ]; then
Il y a un _ESPACE_ de trop entre $controle et ]
> echo "erreur: fichier de controle non specifie"
> exit 1
> fi
> if [ -z $donnees ]; then
idem
> echo "fichier csv non specifie"
> exit 1
> fi
>
> exit 0
Sinon c'est bon !
merci ca marche bien =))
c'est sensible à l'espace en trop parce que j'ai pas mis les "" autour
des variables !!
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit: > #!/bin/bash > > controle=$1 > donnees=$2 > if [ -z $controle ]; then Il y a un _ESPACE_ de trop entre $controle et ] > echo "erreur: fichier de controle non specifie" > exit 1 > fi > if [ -z $donnees ]; then idem > echo "fichier csv non specifie" > exit 1 > fi > > exit 0
Sinon c'est bon !
merci ca marche bien =))
c'est sensible à l'espace en trop parce que j'ai pas mis les "" autour des variables !!
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Francois Sauterey
Le Mercredi 5 Juillet 2006 09:53, jerome kaluza a écrit :
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des noms de fichier sont bien indique, j'essaie de teste avec la valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1" donnees="$2" if (test $controle="") then echo "erreur: fichier de controle non specifie"; exit; fi if (test $donnees="") then echo "fichier csv non specifie"; exit; fi
[ ! -f $1 ] && echo "impossible d'ouvrir le fchier de contrôle $1" && exit 2 [ ! -f $2 ] && echo "impossible d'ouvrir le fchier de csv $2" && exit 2
-- Francois Sauterey @: Francois_AT_Sauterey.org
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le Mercredi 5 Juillet 2006 09:53, jerome kaluza a écrit :
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des
noms de fichier sont bien indique, j'essaie de teste avec la valeur vide
mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1"
donnees="$2"
if (test $controle="") then
echo "erreur: fichier de controle non specifie";
exit;
fi
if (test $donnees="") then
echo "fichier csv non specifie";
exit;
fi
[ ! -f $1 ] && echo "impossible d'ouvrir le fchier de contrôle $1" && exit 2
[ ! -f $2 ] && echo "impossible d'ouvrir le fchier de csv $2" && exit 2
--
Francois Sauterey
@: Francois_AT_Sauterey.org
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le Mercredi 5 Juillet 2006 09:53, jerome kaluza a écrit :
Bonjour j'essaie de faire un scrip qui verifie si 2 parametres qui sont des noms de fichier sont bien indique, j'essaie de teste avec la valeur vide mais meme si ce n'est pas vide, il rentre toujours dans le test :
controle="$1" donnees="$2" if (test $controle="") then echo "erreur: fichier de controle non specifie"; exit; fi if (test $donnees="") then echo "fichier csv non specifie"; exit; fi
[ ! -f $1 ] && echo "impossible d'ouvrir le fchier de contrôle $1" && exit 2 [ ! -f $2 ] && echo "impossible d'ouvrir le fchier de csv $2" && exit 2
-- Francois Sauterey @: Francois_AT_Sauterey.org
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Vincent Danjean
Guillaume wrote:
jerome kaluza wrote:
Le 05/07/06, *laurent besson* <mailto: a écrit :
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit: > #!/bin/bash > > controle=$1 > donnees=$2 > if [ -z $controle ]; then Il y a un _ESPACE_ de trop entre $controle et ] > echo "erreur: fichier de controle non specifie" > exit 1 > fi > if [ -z $donnees ]; then idem > echo "fichier csv non specifie" > exit 1 > fi > > exit 0
Sinon c'est bon !
merci ca marche bien =))
c'est sensible à l'espace en trop parce que j'ai pas mis les "" autour des variables !!
Non, le nombre d'espace n'a aucune importance quand bash découpe la commande et ses arguments. On peut donc mettre autant d'espace qu'on veut (parfois utile quand on veut aligner les données pour une meilleure lisibilité)
Par contre, je mettrais tes arguments entre "" pour deux raisons : 1) ils peuvent être vide. Dans ce cas, ça a peu d'importance car c'est le dernier teste de la commande '['. Ça serait différent si tu avais : if [ -z $controle -o -z $donnees ]; then qui est complètement différent de : if [ -z "$controle" -o -z "$donnees" ]; then
2) ils peuvent avoir des espaces. Essaye d'appeler ton script avec ./script "argument avec espace" "toto titi"
Enfin, par rapport à une autre remarque dans ce thread, les commandes '[' et 'test' font la même chose et peuvent être interchangées comme le souhaite le développeur. Elles existent sous forme de programmes dans /usr/bin/, mais ce sont aussi des commandes internes à bash (utilisées en priorité par bash) donc dont la documentation précise se trouve dans 'man bash' et pas 'man test' ou 'man ['
A+ Vincent
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Guillaume wrote:
jerome kaluza wrote:
Le 05/07/06, *laurent besson* <lolo@system-linux.net
<mailto:lolo@system-linux.net>> a écrit :
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit:
> #!/bin/bash
>
> controle=$1
> donnees=$2
> if [ -z $controle ]; then
Il y a un _ESPACE_ de trop entre $controle et ]
> echo "erreur: fichier de controle non specifie"
> exit 1
> fi
> if [ -z $donnees ]; then
idem
> echo "fichier csv non specifie"
> exit 1
> fi
>
> exit 0
Sinon c'est bon !
merci ca marche bien =))
c'est sensible à l'espace en trop parce que j'ai pas mis les "" autour
des variables !!
Non, le nombre d'espace n'a aucune importance quand bash découpe la
commande et ses arguments. On peut donc mettre autant d'espace qu'on
veut (parfois utile quand on veut aligner les données pour une meilleure
lisibilité)
Par contre, je mettrais tes arguments entre "" pour deux raisons :
1) ils peuvent être vide. Dans ce cas, ça a peu d'importance car
c'est le dernier teste de la commande '['. Ça serait différent si tu
avais :
if [ -z $controle -o -z $donnees ]; then
qui est complètement différent de :
if [ -z "$controle" -o -z "$donnees" ]; then
2) ils peuvent avoir des espaces. Essaye d'appeler ton script avec
./script "argument avec espace" "toto titi"
Enfin, par rapport à une autre remarque dans ce thread, les commandes
'[' et 'test' font la même chose et peuvent être interchangées comme le
souhaite le développeur. Elles existent sous forme de programmes
dans /usr/bin/, mais ce sont aussi des commandes internes à bash
(utilisées en priorité par bash) donc dont la documentation précise se
trouve dans 'man bash' et pas 'man test' ou 'man ['
A+
Vincent
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le mercredi 5 Juillet 2006 10:00, Guillaume a écrit: > #!/bin/bash > > controle=$1 > donnees=$2 > if [ -z $controle ]; then Il y a un _ESPACE_ de trop entre $controle et ] > echo "erreur: fichier de controle non specifie" > exit 1 > fi > if [ -z $donnees ]; then idem > echo "fichier csv non specifie" > exit 1 > fi > > exit 0
Sinon c'est bon !
merci ca marche bien =))
c'est sensible à l'espace en trop parce que j'ai pas mis les "" autour des variables !!
Non, le nombre d'espace n'a aucune importance quand bash découpe la commande et ses arguments. On peut donc mettre autant d'espace qu'on veut (parfois utile quand on veut aligner les données pour une meilleure lisibilité)
Par contre, je mettrais tes arguments entre "" pour deux raisons : 1) ils peuvent être vide. Dans ce cas, ça a peu d'importance car c'est le dernier teste de la commande '['. Ça serait différent si tu avais : if [ -z $controle -o -z $donnees ]; then qui est complètement différent de : if [ -z "$controle" -o -z "$donnees" ]; then
2) ils peuvent avoir des espaces. Essaye d'appeler ton script avec ./script "argument avec espace" "toto titi"
Enfin, par rapport à une autre remarque dans ce thread, les commandes '[' et 'test' font la même chose et peuvent être interchangées comme le souhaite le développeur. Elles existent sous forme de programmes dans /usr/bin/, mais ce sont aussi des commandes internes à bash (utilisées en priorité par bash) donc dont la documentation précise se trouve dans 'man bash' et pas 'man test' ou 'man ['
A+ Vincent
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
pascal
Vincent Danjean a écrit :
Enfin, par rapport à une autre remarque dans ce thread, les commandes '[' et 'test' font la même chose et peuvent être interchangées comme le souhaite le développeur. Elles existent sous forme de programmes dans /usr/bin/, mais ce sont aussi des commandes internes à bash (utilisées en priorité par bash) donc dont la documentation précise se trouve dans 'man bash' et pas 'man test' ou 'man ['
A+ Vincent
Vi on le sait ...c'était pour "coller" le plus à la formulation initiale et montrer qu'au prix d'une légère modif (emploi du test "-z") le cript fonctionnait... P. -- Haut par-dessus leur tête voguaient les blanches sculptures des nuages, comme en la cervelle de Michel-Ange des volutes de concept. M. Lowry
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Vincent Danjean a écrit :
Enfin, par rapport à une autre remarque dans ce thread, les commandes
'[' et 'test' font la même chose et peuvent être interchangées comme le
souhaite le développeur. Elles existent sous forme de programmes
dans /usr/bin/, mais ce sont aussi des commandes internes à bash
(utilisées en priorité par bash) donc dont la documentation précise se
trouve dans 'man bash' et pas 'man test' ou 'man ['
A+
Vincent
Vi on le sait ...c'était pour "coller" le plus à la formulation initiale
et montrer qu'au prix d'une légère modif (emploi du test "-z") le cript
fonctionnait...
P.
--
Haut par-dessus leur tête voguaient les blanches sculptures
des nuages, comme en la cervelle de Michel-Ange des volutes
de concept.
M. Lowry
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Enfin, par rapport à une autre remarque dans ce thread, les commandes '[' et 'test' font la même chose et peuvent être interchangées comme le souhaite le développeur. Elles existent sous forme de programmes dans /usr/bin/, mais ce sont aussi des commandes internes à bash (utilisées en priorité par bash) donc dont la documentation précise se trouve dans 'man bash' et pas 'man test' ou 'man ['
A+ Vincent
Vi on le sait ...c'était pour "coller" le plus à la formulation initiale et montrer qu'au prix d'une légère modif (emploi du test "-z") le cript fonctionnait... P. -- Haut par-dessus leur tête voguaient les blanches sculptures des nuages, comme en la cervelle de Michel-Ange des volutes de concept. M. Lowry
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact