commande system

Le
ThM
Bonjour,
Je tente un transfert avec
$a=system("curl -T fichier url -u user:password");
et $a contient toujours 512
alors que les codes retour de curl plafonnent à 76
Comment récupérer un code retour cohérent (genre vrai/faux)
pour gérer le traitement ?
Merci
Thibaud
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
Nicolas George
Le #148404
"ThM" wrote in message
$a=system("curl -T fichier url -u user:password");


Attention, dans un programme bien élevé, les options doivent venir avant les
arguments non-optionnels.

Comment récupérer un code retour cohérent (genre vrai/faux)
pour gérer le traitement ?


La réponse est dans la doc de la fonction system, de manière très détaillée.

ThM
Le #148403
Attention, dans un programme bien élevé, les options doivent venir avant les
arguments non-optionnels.
La réponse est dans la doc de la fonction system, de manière très détaillée.



Merci pour cette réponse à la fois intelligente et constructive
qui n'a pour seul effet que de flatter l'orgueil de celui qui la
rédige et de laisser celui qui la lit dans le même état de perplexité
en y ajoutant cependant une pensée compatissante pour la catégorie des
donneurs de leçon dont le savoir est souvent inversement
proportionnel à leur faculté de mépriser les autres.

gerbier
Le #148402
Attention, dans un programme bien élevé, les options doivent venir avant les
arguments non-optionnels.
La réponse est dans la doc de la fonction system, de manière très détaillée.



Merci pour cette réponse à la fois intelligente et constructive
qui n'a pour seul effet que de flatter l'orgueil de celui qui la
rédige et de laisser celui qui la lit dans le même état de perplexité
en y ajoutant cependant une pensée compatissante pour la catégorie des
donneurs de leçon dont le savoir est souvent inversement
proportionnel à leur faculté de mépriser les autres.


dans la doc de la fonctions system : on peut lire :

printf "child exited with value %dn", $? >> 8;


Nicolas George
Le #148401
"ThM" wrote in message
Merci pour cette réponse à la fois intelligente et constructive


De fait, elle l'est : j'ai pris le temps de vérifier que la réponse à ta
question est bien en évidence.

qui n'a pour seul effet que de flatter l'orgueil de celui qui la
rédige et de laisser celui qui la lit dans le même état de perplexité


Si tu veux que quelqu'un fasse le boulot à ta place, il faut payer un
développeur.

ThM
Le #148400
Si tu veux que quelqu'un fasse le boulot à ta place, il faut payer un
développeur.

Oui Monsieur
Merci Monsieur
Vos conseils vont changer ma vie
kurtz le pirate
Le #148399
In article "ThM"
Attention, dans un programme bien élevé, les options doivent venir avant les
arguments non-optionnels.
La réponse est dans la doc de la fonction system, de manière très détaillée.



Merci pour cette réponse à la fois intelligente et constructive
qui n'a pour seul effet que de flatter l'orgueil de celui qui la
rédige et de laisser celui qui la lit dans le même état de perplexité
en y ajoutant cependant une pensée compatissante pour la catégorie des
donneurs de leçon dont le savoir est souvent inversement
proportionnel à leur faculté de mépriser les autres.



je te trouve pas très sympa sur ce coup. nicolas t'indique une bonne
piste pour résoudre ton problème. on apprend mieux quand on cherche
surtout si l'on est aidé par des personnes qui connaissent.



--
klp


Paul Gaborit
Le #148398
À (at) Wed, 11 Jul 2007 17:03:03 +0200,
"ThM"
Attention, dans un programme bien élevé, les options doivent venir avant les
arguments non-optionnels.



Un très bon conseil.

La réponse est dans la doc de la fonction system, de manière très détaillée.




Une très bonne réponse car contrairement à ce que vous semblez penser,
cela n'est pas toujours vrai. Certaines astuces ne sont pas
documentées là où elles devraient (peut-être) l'être. Pour une
fonction donnée, certaines informations ne se trouvent que dans les
FAQ (ou dans le code lui-même) et non dans la doc de la fonction
concernée.

Là, en l'occurrence, la réponse est effectivement directement dans la
doc de la fonction.

Merci pour cette réponse à la fois intelligente et constructive qui
n'a pour seul effet que de flatter l'orgueil de celui qui la rédige
et de laisser celui qui la lit dans le même état de perplexité en y
ajoutant cependant une pensée compatissante pour la catégorie des
donneurs de leçon dont le savoir est souvent inversement
proportionnel à leur faculté de mépriser les autres.


Aidez-vous et nous vous aiderons (peut-être).

Si la doc ne vous semble pas claire, dites-le (en exposant ce qui vous
ne semble pas clair) et nous pourrons essayer d'éclaircir.

Maintenant si la question est de savoir où trouver cette doc, ce n'est
plus la même chose... Mais, là aussi, il faut le dire plutôt que de
jouer le grincheux de service (cf. ci-dessus). Peut-être que le lien
ci-dessous pourra vous aider...

--
Paul Gaborit - Perl en français -

Kloug
Le #148397
"ThM" Bonjour,
Je tente un transfert avec
$a=system("curl -T fichier url -u user:password");
et $a contient toujours 512
alors que les codes retour de curl plafonnent à 76
Comment récupérer un code retour cohérent (genre vrai/faux)
pour gérer le traitement ?
Merci
Thibaud

Mon pauvre vieux c'est pas ta fête sur ce coup là !
Je crois deviner que tu veux du concret plutot
que de la belle théorie :
Voilà ce que je fais :
system($commande);
$exit_value = $? >> 8;
$signal_num = $? & 127;
$dumped_core = $? & 128;

Quand curl transfère bien $exit_value = 0
sinon $exit_value >0
Il me semble que c'est ce que tu cherches.
Bon courage
A+
Eric
Paul Gaborit
Le #148396
À (at) Thu, 12 Jul 2007 14:08:57 +0200,
"Kloug"
"ThM" Mon pauvre vieux c'est pas ta fête sur ce coup là !
Je crois deviner que tu veux du concret plutot
que de la belle théorie :
Voilà ce que je fais :
system($commande);
$exit_value = $? >> 8;
$signal_num = $? & 127;
$dumped_core = $? & 128;

Quand curl transfère bien $exit_value = 0
sinon $exit_value >0
Il me semble que c'est ce que tu cherches.
Bon courage


Réponse certe sympathique mais qui est ancienne (extraite de la doc de
perl 5.6.1), incomplète et potentiellement risquée (par exemple:
l'appel à 'system' avec un seul argument, le cas où $? vaut -1,
etc.). Quitte à mâcher le travail, pourquoi ne pas renvoyer vers de
"bonnes" réponses ?

Par exemple (en anglais) :

perldoc -f system

ou (en français) :


qui ont le mérite d'être plus précises et moins risquées et qui
donnent plein d'autres informations connexes ?

Mais je reste persuader que d'apprendre à chercher soi-même dans les
documentations existantes est bien plus utile et rapide que de savoir
poser une question dans le forum !

Comme dit le proverbe : « Si tu donnes un poisson à un homme, il
mangera un jour. Si tu lui apprend à pêcher, il mangera toujours. »

Par ailleurs, quand sur un forum on reçoit une réponse à sa question,
on a le droit de dire que cette réponse ne nous satisfait pas mais de
là à insulter celui qui a pris le temps de répondre... !

Cela n'a rien à voir avec la différence entre théorie et pratique !

Il y a des gens qui prennent le temps de rédiger une documentation.
Il y a des gens qui prennent le temps de la traduire.
Il y a des gens qui prennent le temps de relire le tout.
Il y a des gens qui prennent le temps de répondre dans les forum.

Par simple respect pour toutes ces personnes, la deuxième intervention
de ThM (le "pauvre vieux" PO) est absolument lamentable !

C'était le "coup de gueule" de la journée ! ;-)

--
Paul Gaborit - Perl en français -
Kloug
Le #148395
C'était le "coup de gueule" de la journée ! ;-)


Ok ok moi je n'entre pas dans ces polémiques.
Un type demande poliment (bonjour, merci)
une recette concrète, je lui fais partager
la mienne point barre. A lui de creuser ou de prendre
des risques calculés, ça devient son problème.
Chacun peut aussi me contredire ou compléter,
c'est l'intérêt d'une communauté, je suis toujours
content d'apprendre.
Pour finir je n'ai pas vu d'insultes dans tout ça,
juste du dépit, il ne faut pas non
plus exagérer et se prendre trop au sérieux,
la vie reste un jeu (qui finit toujours mal).

Bon feu d'artifice à tous.
A+
Eric

Publicité
Poster une réponse
Anonyme