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 :

lancement d'une commande


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Par défaut lancement d'une commande
    Bonjour

    je souhaite lancer une commande (commande2) avec un or die

    comme dans les autre command mkdir et rmdir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    use warnings;
    use strict;
     
    my ($commande1, $commande2  );
     
    # Parametres de connexion à la base de données
    my $serveur = "172.16.4.160";                 # nom du serveur
    my $partage       = "test";                   # Il est possible de mettre une adresse IP 
    my $login         = "root";                   # login
    my $password      = "root";                   # password
     
     
    mkdir ("/mnt/test",0755) or die  ("Erreur Creation répertoire \n");
     
     
    $commande2 = "mount -t smbfs -o username=$login,password=$password //$serveur/$partage /mnt/test";
     
    `$commande2`;
     
    rmdir ("/mnt/test") or die  ("erreur supression repertoire \n");
    Merci d'avance pour vos reponse

  2. #2
    Membre éclairé Avatar de Tiger-222
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 76
    Par défaut
    Tu peux utiliser la commande system :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system $commande2 or die ('Erreur !');

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Pas tout à fait. Il faut écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system($commande2) == 0 or die ('Erreur !');
    Car à l'instar d'une commande du shell, la valeur retournée est 0 quand la commande a réussi, et une valeur non nulle en cas d'erreur (voir perldoc -f system)

    Tu peux aussi écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system($commande2) and die ('Erreur !');
    mais c'est moins explicite.

    Tu peux aussi essayer d'ajouter la valeur $! dans le die pour préciser la raison de l'erreur.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Par défaut
    bonjour

    Merci pour vos reponse
    voici donc ce que j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $commande1 = "mount -t smbfs -o username=$login,password=$password //$serveur/$partage /mnt/test";
     
    system($commande1) and die ("Erreur mount \n");
    le probleme s'est que lorsque j'ai une erreur il afiche tout

    mount error 13 = Permission denied
    Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
    Erreur mount

    et moi je voudrais que Erreur mount

    Merci d'avance pour vos reponse

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    Essaie en Redirigeant l'erreur standard vers /dev/null pour éviter d'afficher les erreurs système.


    $commande1 = "mount -t smbfs -o username=$login,password=$password //$serveur/$partage /mnt/test 2> /dev/null";

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Par défaut
    bonjour

    j'ai fais comme commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $commande1 = "mount -t smbfs -o username=$login,password=$password //$serveur/$partage /mnt/test > /dev/null";
    et ca a l'air de fonctionner

    est ce que j'ai bien fait ??

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re,

    Oui, cela veut simplement dire que ton message est écrit sur la sortie standard et non sur l'erreur standard.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 88
    Par défaut Probleme RESOLU
    Probleme RESOLU

    Merci pour toutes vos reponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pb sur le lancement d'une commande tftp
    Par Stef_M dans le forum Langage
    Réponses: 4
    Dernier message: 19/03/2008, 11h53
  2. Lancement d'une commande ou d'un .bat
    Par jbrasselet dans le forum ASP
    Réponses: 1
    Dernier message: 06/09/2007, 16h21
  3. [DOS] Lancement d'une commande en arrière plan
    Par be_tnt dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 19/06/2007, 15h34
  4. [débutant]lancement d'une commande Unix ou LInux depuis Java
    Par msiramy dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 30/09/2005, 18h10
  5. Lancement d'une commande sur un serveur Unix
    Par lper dans le forum Web & réseau
    Réponses: 2
    Dernier message: 29/07/2004, 13h58

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