Page 1 sur 2
problème avec os.execute ou script .sh?
Publié : 23 janv. 2016, 13:59
par thier
Bonjour j'ai besoin d'aide car je ne trouve de solution.
Dans un script .sh, je parse un compteur rid132 et je met la valeur récupérée dans un virtuel text idx134
#!/bin/bash
result=$(curl -s "
http://192.168.0.25:8080/json.htm?type=devices&rid=132"| jq -r .result[].CounterToday)
curl -s '
http://192.168.0.25:8080/json.htm?type= ... e='$result''
#echo $result
#sleep 2
#fi
exit 1
dans un script lua, j'utilise os.execute pour lancer le script sh.
os.execute('bash /home/pi/domoticz/scripts/sh/parsecompteurchauffageglobal2.sh')
Le problème c'est que j'ai l'alerte des 10 secondes pour mon script lua. il doit y avoir une erreur mais ou? Quand je lance mon script sh hors du script lua je n'ai pas d'erreur.
Re: problème avec os.execute ou script .sh?
Publié : 23 janv. 2016, 14:33
par vil1driver
salut,
ajoutes & à la fin pour ne pas attendre ton script
os.execute('bash /home/pi/domoticz/scripts/sh/parsecompteurchauffageglobal2.sh &')
Re: problème avec os.execute ou script .sh?
Publié : 23 janv. 2016, 14:49
par thier
Merci vill1Driver, ça fonctionne.
Re: problème avec os.execute ou script .sh?
Publié : 28 nov. 2017, 01:56
par alexbi
salut
j'ai un problème Error: EventSystem: Warning!, lua script freebox has been running for more than 10 seconds, avec une script lua qui lance un bash
j'ai voulu essayé ta méthode mais elle ne semble pas fonctionner, je pense que je dois mal l'ecrire
os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh & '..ifttt)
une idée de mon erreur ?
merci par avance
Re: problème avec os.execute ou script .sh?
Publié : 28 nov. 2017, 11:22
par landaisbenj
Code : Tout sélectionner
os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh '..ifttt..'&')
Peut etre ?
[EDIT]Apres tout depend de ce qu'est vraiment ifttt... Une chaine une fonction ? sinon ca peut etre ca:
Code : Tout sélectionner
os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh ifttt &')
Re: RE: Re: problème avec os.execute ou script .sh?
Publié : 28 nov. 2017, 11:58
par alexbi
landaisbenj a écrit :Code : Tout sélectionner
os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh '..ifttt..'&')
Peut etre ?
[EDIT]Apres tout depend de ce qu'est vraiment ifttt... Une chaine une fonction ? sinon ca peut etre ca:
Code : Tout sélectionner
os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh ifttt &')
merci à toi je commence à comprendre l'histoire des " .."
cela semble fonctionner
merci
Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk
Re: problème avec os.execute ou script .sh?
Publié : 28 nov. 2017, 12:25
par landaisbenj

je pense qu’on peut dire que les deux points concatenent . Mais quand on veut concatèner avec une chaîne il faut penser aux espaces par exemple.
Re: problème avec os.execute ou script .sh?
Publié : 28 nov. 2017, 12:29
par alexbi
oui merci j'avais remarqué ça aussi
le & on peut le mettre aussi après un script python ?
dernière question, on peut lancer un script python dans un script shell ?
Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk
Re: problème avec os.execute ou script .sh?
Publié : 28 nov. 2017, 12:44
par landaisbenj
alexbi a écrit :oui merci j'avais remarqué ça aussi
le & on peut le mettre aussi après un script python ?
Je ne pense pas qu & ai quelque chose à voir avec le script. Ca a sûrement a voir avec os.execute(). Je pense que la commande se substitue au Shell du raspberry; ouvre l’adresse et & derrière doit sûrement être pris en compte comme la fin du Shell et pas du script exécuté. Du coup je suppose que oui.
dernière question, on peut lancer un script python dans un script shell ?
Je suppose que oui si tu exécute le script python de l’extérieur du script Shell (comme avec os.execute())
Mais tout ça franchement j’en ai aucune idée lol.
Re: problème avec os.execute ou script .sh?
Publié : 28 nov. 2017, 13:05
par thier
le & indique à ton script lua de continuer son déroulement sans attendre la fin d'exécution du script sh lancé. ça évite les erreurs d'exécution de scripts qui durent plus de 10 secondes et qui sont tués par Domoticz.