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

commande system

11 réponses
Avatar
ThM
Bonjour,
Je tente un transfert avec
$a=3Dsystem("curl -T fichier url -u user:password");
et $a contient toujours 512
alors que les codes retour de curl plafonnent =E0 76
Comment r=E9cup=E9rer un code retour coh=E9rent (genre vrai/faux)
pour g=E9rer le traitement ?
Merci
Thibaud

10 réponses

1 2
Avatar
Nicolas George
"ThM" wrote in message <4694e1c1$0$27400$:
$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.

Avatar
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.

Avatar
gerbier
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;


Avatar
Nicolas George
"ThM" wrote in message <4694f130$0$25919$:
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.

Avatar
ThM
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
Avatar
kurtz le pirate
In article <4694f130$0$25919$,
"ThM" wrote:

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


Avatar
Paul Gaborit
À (at) Wed, 11 Jul 2007 17:03:03 +0200,
"ThM" écrivait (wrote):
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 - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>


Avatar
Kloug
"ThM" a écrit dans le message de news: 4694e1c1$0$27400$
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
Avatar
Paul Gaborit
À (at) Thu, 12 Jul 2007 14:08:57 +0200,
"Kloug" écrivait (wrote):
"ThM" a écrit dans le message de news: 4694e1c1$0$27400$
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
<http://perldoc.perl.org/functions/system.html>

ou (en français) :

<http://perl.enstimac.fr/DocFr/perlfunc.html#item_system>

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 - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
Kloug
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

1 2