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

Shell et commandes GNU Discussion :

Prendre en compte le Prompt dans une commande


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 83
    Par défaut Prendre en compte le Prompt dans une commande
    Bonsoir tous le monde, je voudrai exécuter une commande bash sur un serveur linux depuis PHP. Je voudrai que cette commande s'exécute à un certains temps. Donc j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    at XX:XX && ma_commande
    Le problème c'est que at contient un prompt (ce qui requiert une saisie manuelle).
    Nom : ea49be0f61ea4a2cb60938b1d3eb882f.png
Affichages : 468
Taille : 3,3 Ko

    Le && ne fonctionne donc pas. Je vais essayer avec un script mais je ne pense pas que ça marchera.
    L'idéal serai que "ça tienne" en une commande.
    Avez-vous une idée ?
    Merci

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 120
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # echo "touch bidon" > fic.fic
    # cat fic.fic 
    touch bidon
    # ls b*
    #
    # at now -f fic.fic 
    warning: commands will be executed using /bin/sh
    job 2 at Tue Dec 27 00:39:00 2016
    # ls b*
    bidon
    #
    man at pour en savoir plus, comm' d'hab'

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 83
    Par défaut
    Désolé mais j'ai rien compris à ton code mais je vais lire la doc merci.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 83
    Par défaut
    Comme je n'ai toujours pas trouvé la solution à mon problème j'ai poser la questions sur d'autres forum ce qui ma fait prendre conscience que je n'étais pas assez claire dans mes explications.
    Voici un post mieux expliqué:


    Mettons PHP de côté.
    Mon objectif et de pouvoir écrire une commande dans mon terminal qui s'exécutera à un moment précis. On va dire que c'est la commande "ls".
    Je tape donc :
    Code:
    pour pouvoir rentrer une commande qui s'exécutera à 23:45.


    J'obtiens un prompt qui requiert donc une saisie de la part de l'utilisateur.
    Après le at je tape ma commande "ls" et je fais CTRL+D pour fermer la saisie et valider la "programmation" de ma commande.
    Maintenant ma commande s'exécutera à 23:45.
    Ca c'est le fonctionnent de la commande at.

    Maintenant pour pouvoir intégrer cette commande à shell_exec() je voudrai pouvoir l'écrire en une ligne.
    Donc je fais :
    Ce qui ne marche évidement pas car la commande "at 23:45" requiert une saisie utilisateur (et ce sont 2 commandes distinctes). Une fois cette saisie faite ma deuxième commande "ls" sera exécutée.
    C'est pour ça que je me demandais si il n'y avait pas la possibilité d'écrire dans un prompt via une commande comme ceci par exemple pour qu'un serveur puisse l'exécuté sans intervention humaine et que celle-ci tienne dans en une ligne pour qu'elle soit envoyé par shell_exec():
    Exemple faux:
    J'ai essayé d'expliquer du mieux que j'ai pu. Désolé si je ne suis pas encore très claire.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    tu reviens, c'est que tu as lu la doc !
    et donc, qu'as-tu compris des commandes de Jipété ?

    par contre, ta demande est très claire depuis le début : tu veux passer une commande à at sur son entrée standard.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    L'option "-f" de la commande "at" peut être aussi utile.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2014, 13h12
  2. Réponses: 6
    Dernier message: 10/02/2011, 08h38
  3. [XL-2003] Masquer une cellule et ne pas prendre en compte sa valeur dans les calculs
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2009, 11h07
  4. select * dans une commande d'1 dataenvirronnement
    Par Sandrine44 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 02/02/2005, 17h15
  5. Ne pas tenir compte des accents dans une requete
    Par zamanika dans le forum Installation
    Réponses: 8
    Dernier message: 08/11/2004, 19h49

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