Salut,
J'ai un petit script qui est censé mettre à jour des patches sur un Solaris
8.
Voici les étapes..
1. il vérifie que patchdiag.xref n'existe pas. S'il existe, il le supprime
2. il fait un wget sur le site de sunsolve, et repatrie le patchdiag.xref.
3. il le renomme (puisqu'il ne se télécharge pas avec le bon nom) en
"patchdiag.xref".
Le problème c'est que le script a l'air d'avoir forké, car il me balance une
erreur que patchdiag.xref n'existe pas, autrement dit il essaie de le
renommer même avant de l'avoir téléchargé.
Voici le code..
###########
## recuperer le patchdiag.xref
###########
##########
## supprimer l'ancien
##########
if (-e patchdiag.xref) {
system ("rm -f patchdiag\.xref") ;
print ("\nAncien versionne supprimee ... veuillez patienter
...\n\n") ;
}
#########
## OK ... aller chercher le nouveau
#########
system ("$chemin_vers_wget $ou_est_autopatch") ;
system ("mv\QpatchDownload.pl?target=patchdiag.xref&method=H\E
patchdiag.xref") ;
Lorsque je lance, j'ai ...
% ./go.pl
--17:10:24--
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=patchdiag.xref
=> `patchDownload.pl?target=patchdiag.xref'
Connecting to sunsolve.sun.com:80... sh:
mvpatchDownload.pl?target=patchdiag.xref&method=H: not found
Comment éviter que le program tente de renommer un fichier, avant qu'il
n'existe ?
Pour votre éducation choissez un langage (perl ou shell) et faites soit man sh soit man perl
Paul GABORIT
"Laurent Wacrenier" <lwa@ teaser . fr> wrote in message
Heuu.. vous connaissez une autre commande que system("...") ? Faitez donc un script shell.
À (at) Wed, 12 May 2004 17:19:47 +0200, "booboo" écrivait (wrote):
Que c'est utile comme réponse !!!!
Traduction de la réponse : la commande 'system' fait appel au shell. Donc, si vous faites tout par des appels à la fonction 'system', il vaut mieux écrire directement un script shell. Vous rencontrerez les mêmes problèmes d'échappement que ceux que vous rencontrez actuellement (mais cette fois sans croire que c'est un problème lié à Perl ;-)
Sinon, pour faire du Perl, vous pouvez utiliser :
unlink LWP exec
et pour en savoir plus :
perldoc -f unlink perldoc LWP perldoc -f exec
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
"Laurent Wacrenier" <lwa@ teaser . fr> wrote in message
Heuu.. vous connaissez une autre commande que system("...") ?
Faitez donc un script shell.
À (at) Wed, 12 May 2004 17:19:47 +0200,
"booboo" <spamoffbooboo@yahoo.com> écrivait (wrote):
Que c'est utile comme réponse !!!!
Traduction de la réponse : la commande 'system' fait appel au shell. Donc, si
vous faites tout par des appels à la fonction 'system', il vaut mieux écrire
directement un script shell. Vous rencontrerez les mêmes problèmes
d'échappement que ceux que vous rencontrez actuellement (mais cette fois sans
croire que c'est un problème lié à Perl ;-)
Sinon, pour faire du Perl, vous pouvez utiliser :
unlink
LWP
exec
et pour en savoir plus :
perldoc -f unlink
perldoc LWP
perldoc -f exec
--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>
"Laurent Wacrenier" <lwa@ teaser . fr> wrote in message
Heuu.. vous connaissez une autre commande que system("...") ? Faitez donc un script shell.
À (at) Wed, 12 May 2004 17:19:47 +0200, "booboo" écrivait (wrote):
Que c'est utile comme réponse !!!!
Traduction de la réponse : la commande 'system' fait appel au shell. Donc, si vous faites tout par des appels à la fonction 'system', il vaut mieux écrire directement un script shell. Vous rencontrerez les mêmes problèmes d'échappement que ceux que vous rencontrez actuellement (mais cette fois sans croire que c'est un problème lié à Perl ;-)
Sinon, pour faire du Perl, vous pouvez utiliser :
unlink LWP exec
et pour en savoir plus :
perldoc -f unlink perldoc LWP perldoc -f exec
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
sleep 30; Permet d'attendre 30 secondes le temps que le fichier arrive.
Comment éviter que le program tente de renommer un fichier, avant qu'il n'existe ?
merci.
sleep 30;
Permet d'attendre 30 secondes le temps que le fichier arrive.
Comment éviter que le program tente de renommer un fichier, avant qu'il
n'existe ?
sleep 30; Permet d'attendre 30 secondes le temps que le fichier arrive.
Comment éviter que le program tente de renommer un fichier, avant qu'il n'existe ?
merci.
no
On Wed, 12 May 2004 17:08:18 +0200, booboo wrote:
Salut, J'ai un petit script qui est censé mettre à jour des patches sur un Solaris 8.
Voici les étapes..
1. il vérifie que patchdiag.xref n'existe pas. S'il existe, il le supprime 2. il fait un wget sur le site de sunsolve, et repatrie le patchdiag.xref. 3. il le renomme (puisqu'il ne se télécharge pas avec le bon nom) en "patchdiag.xref".
Le problème c'est que le script a l'air d'avoir forké, car il me balance une erreur que patchdiag.xref n'existe pas, autrement dit il essaie de le renommer même avant de l'avoir téléchargé.
Voici le code..
########### ## recuperer le patchdiag.xref ###########
########## ## supprimer l'ancien ##########
if (-e patchdiag.xref) { system ("rm -f patchdiag.xref") ; print ("nAncien versionne supprimee ... veuillez patienter ...nn") ; } } ######### ## OK ... aller chercher le nouveau #########
system ("$chemin_vers_wget $ou_est_autopatch") ; system ("mvQpatchDownload.pl?target=patchdiag.xref&method=HE patchdiag.xref") ;
Lorsque je lance, j'ai ...
% ./go.pl --17:10:24-- http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=patchdiag.xref => `patchDownload.pl?target=patchdiag.xref' Connecting to sunsolve.sun.com:80... sh: mvpatchDownload.pl?target=patchdiag.xref&method=H: not found
Comment éviter que le program tente de renommer un fichier, avant qu'il n'existe ?
merci.
Bon, pour mettre tout le monde d'accord je propose ça comme solution :
--8<-- #!/usr/bin/perl
exec <<EOSHELL
if [ -e patchdiag.xref ]; then echo "> Suppression de patchdiag.xref"; rm patchdiag.xref; fi;
echo "> Téléchargement de patchdiag.xref"; wget -Opatchdiag.xref http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=patchdiag.xref
EOSHELL -->8--
On Wed, 12 May 2004 17:08:18 +0200, booboo wrote:
Salut,
J'ai un petit script qui est censé mettre à jour des patches sur un
Solaris 8.
Voici les étapes..
1. il vérifie que patchdiag.xref n'existe pas. S'il existe, il le
supprime 2. il fait un wget sur le site de sunsolve, et repatrie le
patchdiag.xref. 3. il le renomme (puisqu'il ne se télécharge pas avec
le bon nom) en "patchdiag.xref".
Le problème c'est que le script a l'air d'avoir forké, car il me balance
une erreur que patchdiag.xref n'existe pas, autrement dit il essaie de le
renommer même avant de l'avoir téléchargé.
Voici le code..
###########
## recuperer le patchdiag.xref
###########
##########
## supprimer l'ancien
##########
if (-e patchdiag.xref) {
system ("rm -f patchdiag.xref") ;
print ("nAncien versionne supprimee ... veuillez patienter
...nn") ;
}
}
#########
## OK ... aller chercher le nouveau
#########
system ("$chemin_vers_wget $ou_est_autopatch") ; system
("mvQpatchDownload.pl?target=patchdiag.xref&method=HE patchdiag.xref") ;
Lorsque je lance, j'ai ...
% ./go.pl
--17:10:24--
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=patchdiag.xref
=> `patchDownload.pl?target=patchdiag.xref'
Connecting to sunsolve.sun.com:80... sh:
mvpatchDownload.pl?target=patchdiag.xref&method=H: not found
Comment éviter que le program tente de renommer un fichier, avant qu'il
n'existe ?
merci.
Bon, pour mettre tout le monde d'accord je propose ça comme solution :
--8<--
#!/usr/bin/perl
exec <<EOSHELL
if [ -e patchdiag.xref ]; then
echo "> Suppression de patchdiag.xref";
rm patchdiag.xref;
fi;
echo "> Téléchargement de patchdiag.xref";
wget -Opatchdiag.xref http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=patchdiag.xref
Salut, J'ai un petit script qui est censé mettre à jour des patches sur un Solaris 8.
Voici les étapes..
1. il vérifie que patchdiag.xref n'existe pas. S'il existe, il le supprime 2. il fait un wget sur le site de sunsolve, et repatrie le patchdiag.xref. 3. il le renomme (puisqu'il ne se télécharge pas avec le bon nom) en "patchdiag.xref".
Le problème c'est que le script a l'air d'avoir forké, car il me balance une erreur que patchdiag.xref n'existe pas, autrement dit il essaie de le renommer même avant de l'avoir téléchargé.
Voici le code..
########### ## recuperer le patchdiag.xref ###########
########## ## supprimer l'ancien ##########
if (-e patchdiag.xref) { system ("rm -f patchdiag.xref") ; print ("nAncien versionne supprimee ... veuillez patienter ...nn") ; } } ######### ## OK ... aller chercher le nouveau #########
system ("$chemin_vers_wget $ou_est_autopatch") ; system ("mvQpatchDownload.pl?target=patchdiag.xref&method=HE patchdiag.xref") ;
Lorsque je lance, j'ai ...
% ./go.pl --17:10:24-- http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=patchdiag.xref => `patchDownload.pl?target=patchdiag.xref' Connecting to sunsolve.sun.com:80... sh: mvpatchDownload.pl?target=patchdiag.xref&method=H: not found
Comment éviter que le program tente de renommer un fichier, avant qu'il n'existe ?
merci.
Bon, pour mettre tout le monde d'accord je propose ça comme solution :
--8<-- #!/usr/bin/perl
exec <<EOSHELL
if [ -e patchdiag.xref ]; then echo "> Suppression de patchdiag.xref"; rm patchdiag.xref; fi;
echo "> Téléchargement de patchdiag.xref"; wget -Opatchdiag.xref http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=patchdiag.xref
EOSHELL -->8--
booboo
"@(none)" <""pierre"@(none)"> wrote in message news:40a267f6$0$422$
sleep 30; Permet d'attendre 30 secondes le temps que le fichier arrive.
J'y avais pensé, mais je voulais un truc plus "clean"... :-)
"@(none)" <""pierre"@(none)"> wrote in message
news:40a267f6$0$422$636a15ce@news.free.fr...
sleep 30;
Permet d'attendre 30 secondes le temps que le fichier arrive.
J'y avais pensé, mais je voulais un truc plus "clean"... :-)