2016-12-14 3 views
0

J'ai creusé beaucoup pour une réponse sur la façon de le faire. Le seul indice que j'ai trouvé est qu'il existe une fonction execute() qui est mentionné dans ces questions, et qu'il n'a jamais été officiellement un appel API pris en charge:
Redirecting to stdin in order to execute script in vxworks 6.7
Executing a script from inside code in VxWorks 6.7Comment écrire et exécuter un script shell à partir du code dans vxworks 5.5?

J'aimerais vraiment savoir quelle bibliothèque d'inclure et comment utiliser cette fonction execute() ou alternativement une autre façon d'exécuter shellcommands ou des scripts de code dans vxWorks 5.5

Répondre

0

jamais entendu parler execute(), mais la meilleure façon d'apprendre est d'enseigner :)

Ob La fonction viously execute() fait partie de shellLib. La liste d'API donne l'impression d'être inachevée, donc je devine que les devs de VxWorks n'ont pas considéré que shellLib a été fait ou testé, cachant ainsi execute().

J'ai joué un peu avec cette fonction et l'utilisation est simple: elle accepte un tableau de caractères, l'analyse et l'exécute. Je parie que la fonction "target shell" dans VxWorks est basée sur l'appel de execute() pour chaque ligne d'entrée de l'utilisateur.

Puisque vous considérez que la fonction n'est pas officielle, je ne m'attends pas à ce que quelqu'un apparaisse dans le sujet avec une documentation claire, donc le meilleur conseil est de l'essayer par vous-même.

+1

Sûrement c'est un peu une chose étrange à faire en premier lieu? Tout ce qu'un script 'shell' fait est d'appeler diverses fonctions qui ont été incluses dans l'image ou chargées dynamiquement, et les appeler est plus facilement accompli à partir de son code C/C++. Juste mes deux centimes valent la peine ... – bazza