Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 07-02-2017 13:01:56

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Alternance d'images dans script

Bonjour,

j'essaie de faire un script pour afficher une image entre 8h et 18h et une autre apres 18h, mais ma syntaxe n'est pas correcte pour que l'alternance fonctionne...
dans mon script ça donne ça:


...
H=18
H1=8

if [[ $(date +%H) < $H  && $(date +%H) > $H1 ]];then
wget -q -O $image "http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_RGBNatColour_LowResolution.jpg"
else
wget -q -O $image "http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_IR108Color_LowResolution.jpg"
fi
...
 


Merci d'avance pour un chti coup de main wink

Hors ligne

#2 07-02-2017 13:47:43

Watael
Membre
Distrib. : Debian GNU/Linux 8.6 (jessie)
Noyau : Linux 3.16.0-4-amd64
(G)UI : xmonad, i3, dwm
Inscription : 19-01-2017

Re : Alternance d'images dans script

salut,

plusieurs choses :
`<' est un opérateur lexical : il compare des chaînes, pas des nombres (ou pas en tant que tel); il faut utiliser les opérateur arithmétique (cf. help test).
un nombre Y ne peut pas être inférieur à un nombre X ET supérieur à un autre nombre Z, lui-même supérieur à X; ça doit donc être OU.
à quelques millièmes de seconde près les deux dates peuvent ne pas être les mêmes, il vaut mieux assigner une variable avec la valeur de date, une fois.
enfin, si tu utilises pas les possibilités de [[, alors préfère un simple `test'

Hors ligne

#3 07-02-2017 14:02:34

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Alternance d'images dans script

ah... scratchhead.gif Merci en tous cas pour ta réponse, je vais enquetter sos.gif

Hors ligne

#4 08-02-2017 19:20:49

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Alternance d'images dans script

Watael a écrit :

salut,

plusieurs choses :
`<' est un opérateur lexical : il compare des chaînes, pas des nombres (ou pas en tant que tel); il faut utiliser les opérateur arithmétique (cf. help test).
un nombre Y ne peut pas être inférieur à un nombre X ET supérieur à un autre nombre Z, lui-même supérieur à X; ça doit donc être OU.
à quelques millièmes de seconde près les deux dates peuvent ne pas être les mêmes, il vaut mieux assigner une variable avec la valeur de date, une fois.
enfin, si tu utilises pas les possibilités de [[, alors préfère un simple `test'



C'est bon... Quelqu'un m'a bien aidé, et cette slution fonctionne chez moi :


...
H=`date +%k | sed 's/ //g'`

if (( $H > 7 && $H < 18)) ; then
echo "jour"
wget -q -O $image "http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_RGBNatColour_LowResolution.jpg"
else
echo "nuit"
wget -q -O $image "http://oiswww.eumetsat.org/IPPS/html/latestImages/EUMETSAT_MSG_IR108Color_LowResolution.jpg"
fi
...
 

Hors ligne

#5 08-02-2017 19:30:10

Watael
Membre
Distrib. : Debian GNU/Linux 8.6 (jessie)
Noyau : Linux 3.16.0-4-amd64
(G)UI : xmonad, i3, dwm
Inscription : 19-01-2017

Re : Alternance d'images dans script

H=$(date +%-H)
site="http://oiswww.eumetsat.org/IPPS/html/latestImages/"
if (( 7< H && H < 18)) # en effet, au temps pour moi.
then
   echo "jour"
   adrS="EUMETSAT_MSG_RGBNatColour_LowResolution.jpg"
else
   echo "nuit"
   adrS="EUMETSAT_MSG_IR108Color_LowResolution.jpg"
fi
wget -qO "$image" "$site/$adrS"

Dernière modification par Watael (08-02-2017 19:33:53)

Hors ligne

#6 09-02-2017 11:56:13

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Alternance d'images dans script

Merci pour cette petite amélioration wink

Hors ligne

Pied de page des forums