Page 1 sur 1
script shell qui ne fonctionne pas [résolu]
Publié : 23 févr. 2021, 11:50
par ziaziung
Bonjour à tous et toutes.
Le script shell ci-dessous ne fonctionne pas (il est dans /home/pi/domoticz/scripts) sur un Raspberry qui tourne Domoticz 4.10761 :
Code : Tout sélectionner
#!/bin/bash
if [[ $(date +%u) -lt 7 ]] && [[ $(date +%H%M) -gt 1010 ]] && [[ $(date +%H%M) -lt 1430 ]]; then
curl -s -i -k "http://192.168.1.48:8080/json.htm?type=command¶m=discomodenum4&idx=455"
curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=121312522&pass=aaaaaaaaaaaaaa12345678910101&msg=Courrier"
fi
le but étant que les deux instructions curl -s -i -k ........ (qui fonctionnent parfaitement) soient traitées uniquement les jours de semaine entre 10h10 et 14h30.
Ce qui est curieux c'est que ce même script fonctionne parfaitement lorsque je le lance avec mon PCV sous Ubuntu.
Sauriez vous me dépanner?
Re: script shell qui ne fonctionne pas
Publié : 23 févr. 2021, 14:21
par Chrominator
Étrange, ton script fonctionne parfaitement bien.
Un message d'erreur peut-être pour nous mettre sur la piste ?
Si ton script s'appelle
ton_script.sh, qu'est-ce qui s'affiche en faisant :
Re: script shell qui ne fonctionne pas
Publié : 26 févr. 2021, 14:45
par ziaziung
Merci Chrominator, voici le résultat :
Code : Tout sélectionner
pi@raspberrypi:~/domoticz/scripts $ bash -x ./smsonDetectVibration.sh
++ date +%u
+ [[ 5 -lt 7 ]]
++ date +%H%M
+ [[ 1441 -gt 1010 ]]
++ date +%H%M
+ [[ 1441 -lt 1430 ]]
pi@raspberrypi:~/domoticz/scripts $ ./smsonDetectVibration.sh
./smsonDetectVibration.sh: 3: ./smsonDetectVibration.sh: [[: not found
pi@raspberrypi:~/domoticz/scripts $
lorsque je lance "à la main" par
il y a une erreur et rien ne se produit
Code : Tout sélectionner
./smsonDetectVibration.sh: 3: ./smsonDetectVibration.sh: [[: not found
.
Une idée?
Re: script shell qui ne fonctionne pas
Publié : 27 févr. 2021, 10:17
par patrice
Re: script shell qui ne fonctionne pas
Publié : 27 févr. 2021, 17:14
par ziaziung
Merci pour ton aide Patrice.
J'ai bien lu la page dont tu parles mais je ne vois pas la solution de mon problème. Il y a bien le paragraphe sur Crontab, mais cette fonctionnalité ne m’intéresse pas : Je ne veux pas que mon script se lance à des horaires précis, je veux que les instructions dans mon script soient traitées à des horaires précis.
En outre je cherche à savoir pourquoi mon script fonctionne sous Ubuntu et pas sur le Raspberry.
Si j'ai raté quelque chose peux tu me dire quoi?
Re: script shell qui ne fonctionne pas
Publié : 27 févr. 2021, 17:31
par Keros
ziaziung a écrit : 27 févr. 2021, 17:14
Je ne veux pas que mon script se lance à des horaires précis, je veux que les instructions dans mon script soient traitées à des horaires précis.
Cela revient au même : tu "déportes" la gestion des horaires dans CRON.
Re: script shell qui ne fonctionne pas
Publié : 27 févr. 2021, 19:19
par ziaziung
Merci. Cron est une solution, cependant cela ne me dit pas pourquoi mon script ne fonctionne pas et j'aimerai savoir pourquoi.
Quelqu'un peut il me le dire?
Re: script shell qui ne fonctionne pas
Publié : 28 févr. 2021, 10:19
par patrice
ziaziung a écrit : 27 févr. 2021, 17:14
Merci pour ton aide Patrice.
J'ai bien lu la page dont tu parles mais je ne vois pas la solution de mon problème. Il y a bien le paragraphe sur Crontab, mais cette fonctionnalité ne m’intéresse pas :
Si j'ai raté quelque chose peux tu me dire quoi?
il ne s'agit pas du paragraphe sur crontab qu'il faut que tu exploites mais celui sur le shebang
Tel que je le comprends ton script ne sait pas quel bash utiliser ajoute sur la premiere ligne sans espace devant
refais un chmod 777 sur ton script
et ensuite teste avec
./lenomdetonscript.sh
et ca devrait rouler
Re: script shell qui ne fonctionne pas
Publié : 24 mars 2021, 15:37
par ziaziung
Je vois que le site est de retour : bonne nouvelle!!!!
A propos de mon script, il fonctionne.
Merci pour votre aide.