|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre confirmé
![]() Inscription : avril 2008 Messages : 188 ![]() |
Bonjour,
J'ai simplifié mon code à l'extrême pour bien mettre en évidence mon problème (d'où le uuoc). Code :
Code :
C'est uniquement lorsque je le supprime complètement que j'obtiens '1'. Quelqu'un peut-il m'expliquer ce qui m'apparaît comme un mystère... à moins que ce ne soit un bug du ksh! Merci d'avance pour vos explications. )jack( |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 071 ![]() |
Bonjour,
ce n'est pas un bug (faut pas rêver Code :
|
||
|
|
10
|
|
|
#3 | |||
|
Membre confirmé
![]() Inscription : avril 2008 Messages : 188 ![]() |
Citation:
Pour un bug, ça me paraissait un peu gros! C'est bien parce que je soupçonnais quelque chose de ce genre que j'ai pris la précaution d'imprimer le numéro de process $$. Or, comme tu peux le constater dans les traces, il ne varie pas d'un iota (6889 dans l'exemple). Dois-je en conclure qu'un sous-shell peut avoir le même PID que son père??? Sinon, j'ai contourné le problème à peu près de la même façon que toi (en faisant les grep avant l'appel de la fonction). )jack( |
|||
|
|
00
|
|
|
#4 | |||||
|
Expert Confirmé Sénior
![]() Frédéric Ingénieur développement logiciels Inscription : février 2006 Messages : 3 055 ![]() |
Citation:
Exemple Code bash :
Toutefois ce qui est étonnant c'est que tu es en ksh alors que j'avais remarqué il y a qq années (quand je bossais sous Solaris) que cela ne se produisait pas en ksh Exemple Code bash :
Ce code produit un résultat différent en shell (il affiche 18) alors qu'en ksh (sous Solaris) il affiche le nb de lignes du fichier /etc/passwd + 18. Il semblerait qu'en ksh (Solaris), la nouvelle instance conserve les variables
__________________
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. Tout ce qu'un individu reçoit sans rien faire pour l'obtenir, un autre individu a dû travailler pour le produire sans en tirer profit. Tout Pouvoir ne peut distribuer aux uns que ce qu'il a préalablement confisqué à d'autres car on n'accroît pas les biens en les divisant. Quand la moitié d'un peuple croit qu'il ne sert à rien de faire des efforts car l'autre moitié les fera pour elle, et quand cette dernière moitié se dit qu'il ne sert à rien d'en faire car ils bénéficieront à d'autres, cela s'appelle le déclin et la fin d'une nation. Dr. Adrian Rogers, 1931 |
|||||
|
|
10
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : avril 2008 Messages : 188 ![]() |
pour toutes les réponses. Je clos ![]() )jack( |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 967 ![]() |
En fait, si, il s'agit bien d'un "bug" de pdksh dans le sens ou ce dernier ne reproduit pas le comportement du vrai ksh qui place le dernier élément d'un "pipeline"dans le shell courant, contrairement à bash par exemple qui lui choisit le premier.
__________________
ɹǝsn *sıɹɐlos* |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com