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

C++ Discussion :

script shell mac


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut script shell mac
    bonjour,
    je suis en train de développer une appli en c++ sous mac et j'ai besoin de savoir comment exécuter un script shell. Apparemment la fonction system() est valable uniquement sous windows.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 23
    Points : 31
    Points
    31
    Par défaut
    salut,

    Normalement sous mac, c'est comme sous linux (les deux systèmes sont posix), donc tu peux utiliser system, il se trouve dans stdlib.h.
    La doc de system est ICI .

    Attention :
    • Ne pas mettre un string comme paramètre, il veut vraiment une const char *.
    • La plus part des des appels systèmes sous mac doivent se faire en "sudo"...


    Cordialement,

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    merci pour ton aide.
    Bien que je passe un const char* en paramètre la console me emt l'erreur suivante : "could not open input file"
    La commande que je souhaite lancer est : php monFichier.php et même en sudo, pas moyen de lancer le fichier.
    Pourtant quand je lance cette commande directement dans le terminal, je n'ai aucun problème

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par Meuha Voir le message
    merci pour ton aide.
    Bien que je passe un const char* en paramètre la console me emt l'erreur suivante : "could not open input file"
    La commande que je souhaite lancer est : php monFichier.php et même en sudo, pas moyen de lancer le fichier.
    Pourtant quand je lance cette commande directement dans le terminal, je n'ai aucun problème
    Le shell exécuté par system() ne passe pas par les mêmes phases d'initialisation que celui qui est exécuté par le Terminal : pas de $PATH, pas le même directory courant, etc.

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Si tu veux retrouver ton environnement, il faudra passer par les fonctions exec() (man 3 execl devrait t'en donner la liste). Au moins l'une d'entre elle - execle() - permet de spécifier les variables d'environnement (que tu peux récupérer avec getenv() (again, man 3)).

    Attention : il faut executer fork() (man 2 fork) avant de lancer une fonction de la famille exec().

    Toutes ces fonctions sont des fonctions POSIX, donc normallement accessibles sur MacOS. Je viens de vérifier, et il semblerait que ça soit le cas.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. Ajout de Shell Script dans Mac OS
    Par thais781 dans le forum AppleScript
    Réponses: 3
    Dernier message: 28/10/2013, 16h16
  2. [JSP] script shell
    Par goolix dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/08/2004, 09h08
  3. Exécution d'un script shell
    Par Manu0086 dans le forum Linux
    Réponses: 8
    Dernier message: 15/06/2004, 16h31
  4. Explication script shell
    Par crasho007 dans le forum Linux
    Réponses: 2
    Dernier message: 14/06/2004, 13h54
  5. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

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