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

Modules Perl Discussion :

Module Perl Net::SSH::Expect


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 326
    Par défaut Module Perl Net::SSH::Expect
    Bonjour,

    J'ai besoin de récupérer des informations obtenues via des commandes, voici un exemple de commandes à taper :

    prompt:> OpenetSQL nom_de_base

    sql> select * from tables;

    J'ai besoin de lancer les deux commandes en rouge via le module expect mais je me confronte à une erreur un peu ennuyeuse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ssh->send("OpenetSQL ma_base");
    Quand je tape cette commande, il m'affiche l'erreur suivant :
    -bash: OpenetSQL: command not found
    Ce que je comprends, cependant, j'ai besoin de taper la commande Openet pour pouvoir aller chercher les infos que je veux. Y'a-t-il un moyen de faire exécuter cette commande quoi qu'il en soit ?

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Hum, oui tu as certainement besoin d’exécuter cette commande OpenetSQL.... Il est à peu près certain que la suite le marchera pas si cette commande d'origine ne fonctionne pas. Et il est très certainement nécessaire qu'elle fonctionne correctement pour que la suite marche... Donc, rien ne sert d'en ignorer le résultat.

    A mon avis, tu as peut-être (sans doute?) un problème de privilèges/droits.

    Est-ce que la commande marche quand tu l'exécutes en shell (bash ou autre) depuis la plateforme d'origine? Si oui, c'est très certainement un problème d'utilisateur et de droit.

    Sinon, ce n'est pas vraiment un problème Perl, mais plutôt un problème Linux/shell/Environnement.

    OK, pas sûr que ce message soit d'une grande aide dans l'immédiat, mais je crois que la réponse à ma question est essentielle: est-ce que ça marche en shell, sans Perl, oui ou non? Selon le cas, les pistes à investiguer ne seront sans doute pas les mêmes.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 326
    Par défaut
    Merci pour ton aide quelle qu'elle soit.

    Quand je me connecte sur les différentes remotes et que j'exécute la commande directement dans le bash, ça fonctionne ! J'utilise le même compte que celui pour me connecter en SSH.

    Du coup, si je comprends bien ton message, ça serait un problème de droit dû à la connexion SSH ?

    Une autre piste aussi se situe au niveau du module utilisé. Il n'accepte que les commandes bash et OpenetSQL n'en est pas une. Car quand je fais un send("ls"), ça fonctionne.

    Qu'en penses-tu ?

    Je vais investiguer.

  4. #4
    Membre chevronné Avatar de cmcmc
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 316
    Par défaut
    Citation Envoyé par ciols Voir le message
    Une autre piste aussi se situe au niveau du module utilisé. Il n'accepte que les commandes bash et OpenetSQL n'en est pas une. Car quand je fais un send("ls"), ça fonctionne.
    Peut-être un problème de PATH ? Si tu fais send('echo $PATH') ça donne quoi ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 326
    Par défaut
    Quand je fais un echo $PATH, j'ai bien le chemin qui mène vers le répertoire où est stockée ma commande.

    echo $PATH :
    /.../.../.../abc/prod/bin/OpenetSQL
    chemin :
    /.../.../.../current/prod/bin/
    Avec current étant un lien symbolique pointant vers abc

    J'avance petit à petit, l'erreur vient sûrement de l'utilisation du script à distance. Il doit falloir jouer avec les variables d'env.

Discussions similaires

  1. [Net::SSH::Expect] Utilisation du module
    Par JLChelin dans le forum Modules
    Réponses: 2
    Dernier message: 21/03/2013, 11h05
  2. Installation du module net:ssh:expect sous windows xp
    Par ngerbault dans le forum Modules
    Réponses: 0
    Dernier message: 24/01/2012, 10h12
  3. module perl Net::SSH::Expect
    Par michon dans le forum Modules
    Réponses: 9
    Dernier message: 29/06/2010, 12h42
  4. Perl - Net::SSH:Perl
    Par pratheep dans le forum Modules
    Réponses: 3
    Dernier message: 24/11/2008, 20h09
  5. Réponses: 6
    Dernier message: 04/11/2008, 09h51

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