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 PHP Discussion :

commandes shell -> continuité de session ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 93
    Points : 54
    Points
    54
    Par défaut commandes shell -> continuité de session ?
    Bonjour,

    J'essaie de manipuler des programmes externes par php.
    Les instructions sur une ligne fonctionnent.

    Par contre, je ne sais pas comment "aligner" plusieurs commandes à la suite.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $output1 = `ls` ;
    echo "<pre>$output1</pre>" ; // M'envoie correctement le contenu du répertoire racine ;
    $output2 = `cd rep` ; // devrait naviguer vers le répertoire rep
    echo "<pre>$output2</pre>" ; // Aucune réponse.
    $output3 = `ls` ;
    echo "<pre>$output3</pre>" ; // Me renvoie le contenu du répertoire racine au lieu du contenu de rep !
    J'en déduis (peut-être à tort) qu'il lance une nouvelle session bash à chaque ligne de commande. Comment faire pour rester sur la même ?
    L'écriture de script passés en argument du lancement de programme serait une alternative, mais je souhaiterais l'éviter, si possible.

    Merci de votre aide,

    Je précise : je suis sur mac OS X.

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    A mon avis, il faut tout passer en une seule fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $output = `cd rep; ls`;
    echo "<pre>$output</pre>";
    je n'ai pas pu tester.
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 93
    Points : 54
    Points
    54
    Par défaut
    Exact : c'est le ";" qui me manquait.

    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 93
    Points : 54
    Points
    54
    Par défaut
    Flûte, non, ce n'était qu'une étape.

    La commande fonctionne avec "ls", mais pas avec mon programme (R).

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $output = `R --vanilla 2>&1\n;`;
    echo $output ;
    renvoie bien le prompt d'accueil.

    Mais les lignes suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $output = `R --vanilla 2>&1\n;e <- c(1,2,3) 2>&1\n; e  2>&1\n;` ;
    echo $output ;
    n'affichent rien d'autre que le premier prompt, vide, au lieu d'afficher à la suite [1] 1 2 3.
    Comme s'il ne tenais pas compte des commandes envoyées ensuite.

    Une idée ?

  5. #5
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Essaye d'enlever tous les \n
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

Discussions similaires

  1. [Système]Execution d'une commande shell
    Par n8ken dans le forum API standards et tierces
    Réponses: 24
    Dernier message: 29/03/2007, 04h36
  2. []Commande shell
    Par phoenix736 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 09/10/2005, 20h31
  3. [Debutant] Commande shell
    Par drosophile dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 21/04/2005, 15h06
  4. commande shell dans un programme
    Par diefo dans le forum C
    Réponses: 3
    Dernier message: 15/08/2003, 13h37
  5. [VB6] comment savoir si la commande shell est terminée ?
    Par ghyscharlotte dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2003, 19h12

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