IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Etrange "Bad file descriptor"


Sujet :

Langage Perl

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut Etrange "Bad file descriptor"
    Bonjour à tous.

    Je dois tester un script perl.

    Dans ce script, à un moment donné, on exécute une commande entre quotes inversées (par exemple `echo "toto"`) (et ce sous windows 2000).

    Le "echo" n'est pas exécuté et le message d'erreur renvoyé par perl est "Bad file descriptor" ...

    Lorsque je tente d'exécuter ma commande via l'instruction 'system "echo ..."', le message d'erreur est "No such file or directory.

    Quelqu'un pouurrait-il m'expliquer de quoi il retourne ? Je n'y comprends pas grand chose.

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Et comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $var = `echo toto`;
    print $var;

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    Eh ben $var est vide et le message d'erreur reste le même.

    Merci de ta réponse.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Donne un peu plus de code si tu peux, car chez moi ça fonctionne bien (ce code-là seul), et $var contient bien le retour de echo.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    En fait je ne crois pas que donner plus de code aide beaucoup: l'instruction est on ne peut plus simple et le code est incompréhensible sans connaître son contexte.

    En revanche je peux préciser qu'aucune commande entre quotes inversées (echo toto ou n'importe quoi d'autre) n'est exécutée, et que le script perl est exécuté dans un environnement particulier, i.e. dans un environnement ou des dixaines et des dixaines de variables systèmes sont positionnées.

    Pour ceux qui connaîtraient, cet environnement est nécessaire à une grosse application qui s'appelle TeamCenter.

    Voilà tout ce que je peux dire ... Désolé si ça ne vous aide pas beaucoup ...

    Merci de ton aide kuzco !!

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    Pour info, j'ai testé le script suivant (test.pl):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    `echo toto`;
    print "$!";

    et il n'y a pas une ligne de plus dans ce script test.pl.

    Eh bien le résultat est le même: "Bad file descriptor" ...

    Surprenant non ?

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 124
    Par défaut
    ta essayer la commande manuellement dans une fenetre DOS ?

    même si sa me parait super bizarre que sa marche pas...

  8. #8
    Invité
    Invité(e)
    Par défaut
    On est bien d'accord, c'est basique. Mais pourtant je ne vois pas d'autre explication

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    Oui oui, c'est dans une fenêtre DOS (cmd) que je lance le script; mais dans une fenêtre DOS ou a seté pleins de variables au préalable ...

    Et je peux vous assurer que le script de deux lignes dont je parle plus haut ne marche pas ...

    J'avoue que je suis un peu dépassé ...

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    ...... et le script suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    system "echo toto";
    print "$!";
    donne: "No such file or directory" ...

  11. #11
    Invité
    Invité(e)
    Par défaut
    Et le même script sur une autre machine ? Juste pour voir...

  12. #12
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    Je viens de tester sur une autre machine: mêmes symptômes.

    J'ajoute que quand j'ouvre une fenêtre DOS sans variables particulières, ça marche. Mais dès que je positionne les vatiables nécessaires à TeamCenter, c'est foutu ...

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 124
    Par défaut
    Citation Envoyé par amauryxiv
    Oui oui, c'est dans une fenêtre DOS (cmd) que je lance le script; mais dans une fenêtre DOS ou a seté pleins de variables au préalable ...

    Et je peux vous assurer que le script de deux lignes dont je parle plus haut ne marche pas ...

    J'avoue que je suis un peu dépassé ...
    non mais tu as essayé la commande
    dans une fenêtre DOS sans lancer le script simplement la commande echo

  14. #14
    Invité
    Invité(e)
    Par défaut
    Quelles variables ?

  15. #15
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    Oui, la commande "echo" marche très bien ...

  16. #16
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    Voilà la liste des variables setées (bon courage !!!!!)

    ACD
    ACE
    ACL
    ACM
    ACTIONAUTH
    ADA
    ADAACTIONS
    ADAACTIONSCFG
    ADAADSCFG
    ADACHANGECFG
    ADACORECFG
    ADAJAVA
    ADAPDCFG
    ADAPFMCFG
    ADA_ADSACTIONS
    ADA_ADSCHANGE
    ADDRELATION
    ADMINACTIONS
    ADMINEDITOR
    ADMIN_ADA
    ADMIN_ADS
    ADMIN_APC
    ADMIN_ASB
    ADMIN_BASIC
    ADMIN_DM
    ADMIN_HOMEBROWSER
    ADMIN_TEAM
    ADS
    ADSACTIONS
    ADSACTIONSCFG
    ADSADMINEDITOR
    ADSCHANGE
    ADSCOMPOSITESCFG
    ADSCORECFG
    ADSJAVA
    ADSMIGR
    ADSREPORTSCFG
    ADSSEARCHCFG
    ADS_IV
    AEDJAVA
    AGORAV5DB
    AGORAV5PWD
    AGORAVPWD
    AIM
    ALLUSERSPROFILE
    APC
    APCJAVA
    APM
    APPDATA
    APPFRAMEWORK
    ASB
    ASBACTIONS
    ASBACTIONSCFG
    ASBADMINEDITOR
    ASBBASICACTIONSCFG
    ASBBOMEXCHANGE
    ASBBOMEXCHANGECFG
    ASBCOMPOSITESCFG
    ASBCORECFG
    ASBJAVA
    ASBRELATIONSHIPSCFG
    ASBREPORTSCFG
    ASBSEARCHCFG
    ASBUILT
    ASM
    ASMACTIONS
    ASMACTIONSCFG
    ASMAINTAINED
    ASMBASICACTIONSCFG
    ASMCOMPOSITESCFG
    ASMCORECFG
    ASMJAVA
    ASMRELATIONSHIPSCFG
    ASMREPORTSCFG
    ASMSEARCHCFG
    ASSIGNMENTDETAILS
    AUM
    B2A
    B2C
    B2E
    B2R
    BASE
    BASEPATH
    BASE_LIB
    BASICACTIONS
    BASICADMINACTIONS
    BASICADSACTIONS
    BASICADSACTIONSCFG
    BCFLAGS
    BCFLAGS_OPT
    BI_ACTIONS
    BOM
    BOMEXCHANGE
    BOOKMARKS
    BUCK
    BUK
    BUKJAVA
    C9C
    C9E
    C9I
    C9P
    C9S
    C9T
    C9U
    CATALOG
    CATALOGACTIONS
    CCF
    CCFJAVA
    CCM
    CCMJAVA
    CC_ANSI
    CC_ANSI_ORIG
    CDS
    CDSJAVA
    CFXDAK
    CHANGEMANAGEMENT
    CHANGE_OV
    CLASSPATH
    CLG
    CLGIDEAS
    CLGJAVA
    CLIBS
    CLIBS_ORIG
    CMADMIN
    CMADMINCFG
    CMASSIGNACTIONS
    CMASSIGNACTIONSCFG
    CMBASICACTIONS
    CMBASICACTIONSCFG1
    CMBASICACTIONSCFG2
    CMCHANGEHISTORY
    CMCHANGEHISTORYCFG
    CMCOMPOSITESCFG1
    CMCOMPOSITESCFG2
    CMCORECFG
    CME
    CMI
    CMOPEN
    CMREPORTSCFG1
    CMREPORTSCFG2
    CMS
    CMSEARCHCFG1
    CMSEARCHCFG2
    CMSJAVA
    CMSTATEVECTOR
    CMSTATEVECTORCFG
    CNF
    CNFJAVA
    COMMON
    COMMONCUSTOM
    CommonProgramFiles
    COMPUTERNAME
    ComSpec
    CONFERENCE
    CONLIBS
    CONSUMPACKAGEDGOODS
    COR
    CPG
    CPG_IV
    CPLUSPLUS
    CSA
    CTI
    CUSTENVMODE
    CXX
    D1C
    D1CJAVA
    D2M
    D5U
    DAK
    DCS
    DDBDIR
    DDS
    DELEGATE
    DMAPPLETS
    DMM
    DMMJAVA
    EAI_DEVELOPER_ENV
    EAS
    EBREVIATE
    ECS
    ECSJAVA
    EDT
    EDTJAVA
    EMG
    EMGJAVA
    ENTRUST
    EPI
    ES
    ES_ADA
    ES_ADS
    ES_AED
    ES_APC
    ES_ASB
    ES_BUK
    ES_CCF
    ES_CDS
    ES_CNF
    ES_DMM
    ES_ECS
    ES_EDT
    ES_HTE
    ES_LCM
    ES_MDV
    ES_MOM
    ES_OCC
    ES_OMF
    ES_ONV
    ES_PFM
    ES_PUP
    ES_SCT
    ES_TMS
    ES_VIS
    ES_VMS
    ES_VVE
    EVISTA
    EVISTA_ADA
    EVISTA_ADS
    EVISTA_ASB
    EVISTA_BUK
    EVISTA_CNF
    EVISTA_HTE
    EVISTA_MOM
    EVISTA_ONV
    EVISTA_PUP
    EXEEXT
    EXPORT
    EXTENTERPRISE
    EXTRSYM
    EXTSUMCHANGECFG
    EXTSUMFOUNDATIONCFG
    EXTSUMMARY
    EXTSUMOVCFG
    FED
    FILES
    FILEUPLOAD
    FMK
    FOUNDATION
    FSSRV
    GDH
    GDHBASICACTIONSCFG
    GDHCORECFG
    GDHEXTSUMMARYCFG
    GDHRELATIONSHIPSCFG
    GDHSEARCHCFG
    GLOBALDATASYNCH
    GMI
    HIGHTECHELECTRONICS
    HOMEDIR
    HOMEDRIVE
    HOMEPATH
    HTE
    HTEACTIONS
    HTEACTIONSCFG
    HTEASSIGNACTIONS
    HTEASSIGNACTIONSCFG
    HTEBASICACTIONSCFG
    HTECOMPOSITESCFG
    HTECORECFG
    HTEJAVA
    HTERELATIONSHIPSCFG
    HTEREPORTS
    HTEREPORTSCFG
    HTESEARCHCFG
    I3C
    ICE
    IDC
    IDS
    IDSJAVA
    IEE
    IES
    IMI
    include
    INITIATEWORKFLOW
    INJJAVA
    INPUTFORMFILE
    INSTALLDIR
    IPD
    ISC
    ISERIES
    JAAS
    JAVA
    JAVA_PACKAGE_NAME
    LCM
    LCMJAVA
    LDAPSDK
    LEANCHANGE
    lib
    LIFECYCLEHISTORY
    LM
    LM_LICENSE_FILE
    LN_CMD
    LN_DBG
    LOCALEDIR
    LOGONSERVER
    LOG_PATH
    MAKE
    MCI
    MDV
    MDVJAVA
    MED
    METADB
    METATOK
    MFRONT
    MGC
    MODELOPTIONMGR
    MOM
    MOMBASICACTIONSCFG
    MOMBOMCFG
    MOMCORECFG
    MOMCREATECFG
    MOMJAVA
    MOMPROPCFG
    MOMRELATIONSHIPSCFG
    MOMSEARCHCFG
    MOMSUMMARY
    MPE
    MPEJAVA
    MRO
    MROJAVA
    MRO_ADSCHANGE
    MSCRIPT
    MSDevDir
    MTIPATH
    MTI_ROOT
    MWAU
    MYDATA
    MYTEAMS
    ND_CHARNATIVE
    ND_HOME
    ND_NATIVEMENU
    ND_PATH
    NEWPRODUCTDEVELPMNT
    NLS_LANG
    NLS_NCHAR_CHARACTERSET
    NLS_PATH
    NPD
    NUMBER_OF_PROCESSORS
    OCC
    OCCJAVA
    OMF
    OMFJAVA
    ONLINEDOCS
    ONV
    ONVJAVA
    OPEN
    OPTIONS_VARIANTS
    ORACLE_HOME
    ORACLE_PATH
    ORACLE_SID
    OS
    Os2LibPath
    OSDIR
    OSSERVICES
    OSSERVICESUTIL
    OSSPLUGIN
    OUTPUTFORMFILE
    OVM
    OVMJAVA
    OV_BOM
    OV_BOMCFG
    OV_CORECFG
    OV_CREATECFG
    OV_OPTIONS
    OV_PROPCFG
    OV_RELATIONSHIPSCFG
    OV_REPORTS
    OV_SEARCHCFG
    OV_SUMMARY
    PARTACTIONS
    PARTFAMILYMANAGER
    Path
    PATHEXT
    PC_BASICACTIONSCFG
    PC_BOMCFG
    PC_CORECFG
    PC_CREATECFG
    PC_PROPCFG
    PC_RELATIONSHIPSCFG
    PC_SEARCHCFG
    PC_SUMMARY
    PDCOMPOSITECFG
    PDCORECONFIG
    PDM_CONFIG
    PDREPORTSCFG
    PFM
    PFMACTIONS
    PFMACTIONSCFG
    PFMBASICACTIONSCFG
    PFMCOMPOSITESCFG
    PFMCORECFG
    PFMJAVA
    PFMRELATIONSHIPSCFG
    PFMSEARCHCFG
    PLUGINSECURITY
    PORTALADSCFG
    PPVARFILE
    PRO
    PROCESSOR_ARCHITECTURE
    PROCESSOR_IDENTIFIER
    PROCESSOR_LEVEL
    PROCESSOR_REVISION
    PRODUCT_BASE
    PRODUCT_CONFIGURATOR
    ProgramFiles
    PROMPT
    PROPERTIES
    PRPC
    PSM
    PSMJAVA
    PS_CONFIGURATION
    PS_EFFECTIVITIES
    PTCTestEnv
    PUP
    PUPJAVA
    RC
    RCBASEINSTALL
    RCCADIDEAS
    RCCADINV
    RCCADPROE
    RCCADSE
    RCCADSTEP
    RCCADSW
    RCCADUG
    RCCADVCTHP
    RCCADVCTSOL
    RCCADVCTWIN
    RCCORE
    RCF
    RCFOUNDATION
    RCLOGIN
    RELATIONSHIPS
    REPORTS
    REVEAL_MODEL
    SAVEDPREF
    SAVEDQUERY
    SCT
    SCTJAVA
    SEARCH
    SHAREDLOGIN
    SLCC
    SLCCOPT
    SLD
    SLDLDDIR
    SLEXT
    SLFLAGS
    SM
    SMD
    SMM
    SMMJAVA
    SOAP_CONTAINER
    SQA
    SSO
    SSOAPPLET
    SSOSERVICE
    SSO_APPLIB
    SSO_COMMON
    SSO_LDAPIDPROVIDER
    SSO_LOGINAPPLETS
    SSO_LOGINSERVICE
    SSO_WEBTOOLKIT
    STATEMANAGER
    SUBSCRIBE
    SUMMARY
    SUPPORT_DIR
    SVRDIR
    SystemDrive
    SystemRoot
    TAF
    TAHNDLRS
    TALAUNCHER
    TCAS
    TCAS_IV
    TCDAK
    TCENTTCPROJINTFC
    TCIDE
    TCTS
    TDS
    TDSJAVA
    TEF
    TEMP
    TKT
    TMP
    TMS
    TMSJAVA
    TOOLAGENT
    TOOLAGENTUTIL
    TOOLKIT
    TSR
    TSSRV
    TSTPATH
    UES
    UESJAVA
    UI
    UPGRADE
    USC
    USERDOMAIN
    USERNAME
    USERPROF
    USERPROFILE
    VALIDVALUEEDITOR
    VALIDVALUES
    VAULTING
    VC_HOSTNAME
    VENDORACTIONS
    VIS
    VISAPPLET
    VISJAVA
    VISUALIZATION
    VMS
    VMSBASICACTIONS
    VMSBASICACTIONSCFG
    VMSCOMPOSITESCFG
    VMSCORECFG
    VMSJAVA
    VMSRELATIONSHIPSCFG
    VMSREPORTSCFG
    VMSSEARCHCFG
    VMSSUMMARYCFG
    VPD
    VPDJAVA
    VVACTIONS
    VVBASICACTIONS
    VVE
    VVEJAVA
    WAE
    WAF
    WCCSSO
    WEBPD
    WEBTIERUPGRADE
    WEBTOOLKIT
    WF_RESOURCES
    WHEREIGO
    windir
    WINLIBS
    WLF_CHG_MANAGEMENT
    WOLF
    WOLF_ADA
    WOLF_ADA_ADS
    WOLF_ADMIN
    WOLF_ADMINCFG
    WOLF_ADMINEDITOR
    WOLF_ADS
    WOLF_APPREGCLIENT
    WOLF_CHOOSER
    WOLF_CHOOSERCFG
    WOLF_HTE
    WOLF_LAUNCHER
    WOLF_LAUNCHERCFG
    WOLF_LEANCHANGE
    WOLF_OV
    WOLF_PFM
    WOLF_RELATER
    WOLF_RELATERCFG
    WORKLIST
    WSM
    WWW
    XML
    XMLJAVA


    Comme tu le vois, il y en a quelques unes !!!

  17. #17
    Invité
    Invité(e)
    Par défaut
    Ok ok.... Et quand tu fais ton echo, tu veux afficher quoi ? Toto ? ou bien le contenu d'une de ces variables... J'avoue ne plus te suivre vraiment.

  18. #18
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Par défaut
    En fait c'est simple: je ne me plains pas que echo ne marche pas ... je dis crrément que dans mon script, aucune commande entre quotes inversées n'est appelée (echo ou autre chose).

    Ce que moi je veux faire, c'est que mon script appelle une commande propre à TeamCenter.
    Mais pour ça il faudrait d'abord que l'appel à un simple "echo" marche ...

    Ce que j'attends est simple: j'ai dans mon script une ligne
    `maCommande`;
    et je cherche à faire en sorte que maCommande soit exécutée ...

    En espérant avoir été clair ...

    Maerci beaucoup de ton aide.

  19. #19
    Invité
    Invité(e)
    Par défaut
    OK, c'est beaucoup plus clair.... mais là j'ai pas d'idée....
    Du moins pas pour l'instant...

  20. #20
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 124
    Par défaut
    je crois que y a un module intégrer à Perl qui s'appelle Shell.

    essaye de voir avec.

Discussions similaires

  1. Bad file descriptor lors d'un write().
    Par gregb34 dans le forum Bibliothèque standard
    Réponses: 1
    Dernier message: 24/04/2008, 17h56
  2. Bad File descriptor avec fcntl
    Par guigui31 dans le forum Débuter
    Réponses: 2
    Dernier message: 21/04/2008, 20h11
  3. Réponses: 0
    Dernier message: 18/11/2007, 20h53
  4. Erreur: bad file descriptor
    Par Bruno51 dans le forum Langage
    Réponses: 10
    Dernier message: 06/09/2007, 16h44
  5. Bad file descriptor avec un read()
    Par je®ome dans le forum C
    Réponses: 2
    Dernier message: 04/04/2006, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo