Page 1 sur 1

fonctionnement os.exexcute

Publié : 11 déc. 2016, 16:37
par ziaziung
Bonjour à toutes et tous.

J'ai un script lua dans lequel j'utilise os.execute :

Code : Tout sélectionner

commandArray = {}
local sentence="Bonjour, nous sommes aujourd'hui le "..tonumber(os.date("%d"))
os.execute ("/usr/bin/tts " ..sentence.." "&)
os.execute("/usr/bin/tts Bienvenu. Nous sommes le 11 décembre, bon anniversaire")
return commandArray

seul le deuxieme os.execute

Code : Tout sélectionner

os.execute("/usr/bin/tts Bienvenu. Nous sommes le 11 décembre, bon anniversaire")
est executé quel est le probleme dans

Code : Tout sélectionner

local sentence="Bonjour, nous sommes aujourd'hui le "..tonumber(os.date("%d"))
os.execute ("/usr/bin/tts " ..sentence.." "&)

?
Et tts en ligne de commande fonctionne parfaitement.
La commande tts est définie ici http://www.voicerss.org/api/documentation.aspx

Re: fonctionnement os.exexcute

Publié : 11 déc. 2016, 16:53
par thier
Je dirais os.execute ("/usr/bin/tts " ..sentence).

Re: fonctionnement os.exexcute

Publié : 11 déc. 2016, 18:32
par Neutrino
Pourquoi mettre un tonumber ?
On est justement dans une chaîne.

Code : Tout sélectionner

commandArray = {}
local sentence="Bonjour, nous sommes aujourd'hui le "..os.date("%d")
os.execute ("/usr/bin/tts " ..sentence.." "&)
os.execute("/usr/bin/tts Bienvenu. Nous sommes le 11 décembre, bon anniversaire")
return commandArray

Re: fonctionnement os.exexcute

Publié : 11 déc. 2016, 20:22
par ganq
as -tu essayé :

Code : Tout sélectionner

local sentence="Bonjour, nous sommes aujourd'hui le "..tonumber(os.date("%d"))
os.execute ("/usr/bin/tts '" ..sentence.."' &" )

Re: fonctionnement os.exexcute

Publié : 11 déc. 2016, 20:36
par vil1driver
Salut,

+1 pour Neutrino au sujet du tonumber

+1 pour Ganq de passer le & dans la chaîne et usage d'apostrophe pour encadrer le texte.

;)

Gaffe au mot aujourd'hui qui comporte un apostrophe qu'il faut impérativement échapper

Code : Tout sélectionner

Aujourd\'hui

Re: fonctionnement os.exexcute

Publié : 12 déc. 2016, 11:36
par ziaziung
Bonjour à toutes et tous
la syntaxe qui fonctionne est :

os.execute ("/usr/bin/tts " ..sentence.." " )


pas de &.

Par contre, il me semblait (c'est ce que j'avais crtu comprendre dans la doc lua : https://www.lua.org/pil/22.1.html) que os.date donnait la date (les noms des jours et des mois) en français. Ce n'est pas le cas! Savez vous comment faire?

Re: fonctionnement os.exexcute

Publié : 12 déc. 2016, 11:54
par Neutrino
En fait, le & doit être dans entre les guillemets, j'ai recopié l'erreur dans mon précédent post, désolé.

Code : Tout sélectionner

os.execute ("/usr/bin/tts " ..sentence.." &" )
Cela permet de lancer le tts sans bloquer le script.
Pour la VF, j'en sais rien :(