Lua os.exécuter valeur de retour
Est-il possible de lire ce qui suit à partir de la variable locale en Lua?
local t = os.execute("echo 'test'")
print(t)
Je veux juste obtenir ceci: tout ce qui est exécuté par le ox.execute
et renvoyer une valeur, je voudrais l'utiliser en Lua par exemple echo 'test'
sortie test
dans la ligne de commande bash - est-ce possible d'obtenir la valeur retournée (test
dans ce cas) pour le Lua variable locale?
- C'est Lua, pas de LUA. C'est un nom propre, n'est pas un acronyme.
- Oh, merci mon maître!
- weeeeeelll.... 😉
- Être impoli envers des gens qui essaient de vous aider, c'est pas une bonne façon de susciter plus d'aide.
- Peut-être vous rappelez-vous la prochaine fois. C'est la deuxième fois que je vous ai dit cela.
- Je ne suis pas impoli, je suis vraiment reconnaissant pour cela et je vais vous rappeler que pour la prochaine fois, j'espère.
- Je faisais allusion à votre réponse à NicolBolas.
- Je ne trouve pas que son commentaire grossier. Dépend de votre état d'esprit au moment où vous le lirez.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
io.popen()
à la place. Cela renvoie un descripteur de fichier que vous pouvez utiliser pour lire la sortie de la commande. Quelque chose de semblable à la suivante peut travailler:Noter que cela permet d'inclure la fuite de saut de ligne (le cas échéant) que la commande émet.
'popen' not supported
.os.execute()
mais de rediriger la sortie standard vers un fichier temporaire, puis lire le fichier temporaire par la suite.os.execute(command .. " >/tmp/foo")
(où/tmp/foo
est remplacé par un peu de chemin unique, toutefois, vous souhaitez calculer).Arus
os.capture
retourne toute la sortie standard, donc il est retourné dans la variable.Exemple:
Impression:
os
module. lua.org/manual/5.3/manual.html#6.9Désolé,
mais c'est impossible.
Si l'écho programm sortie avec succès, il sera de retour 0. Cette code_retour est ce que le système d'exploitation.execute() de la fonction get et retourné trop.
C'est une façon d'obtenir ce que vous voulez, j'espère que cela vous aide.
Une autre Astuce pour obtenir le code de retour d'une fonction est le Lua de référence.
Lua-Référence/Tutoriel