[linux] wat is er fout in dit bash script?
Daniel C. von Asmuth
asmuth op bakunin.xs4all.nl
Di Dec 11 14:37:38 CET 2018
Aldus schreef Julien Michielsen op Tue, Dec 11, 2018 at 12:40:11PM +0100:
> Ik heb een bash-script waarmee ik de tijdstippen van zonsopkomst en
> -ondergang
> toon.
> Met dat zelfde script wil ik tonen of het dagnummer deelbaar is door 5 in
> welk
> geval ik een activiteit moet voeren.
> Zoals ik dacht: indien modulus dagnummer 5 gelijk is aan 0: tijd voor
> activiteit
> Daarvoor heb ik de volgende regels in mijn script:
>
> echo "Zonsopgang in $location: $sunrise"
> echo "Zonsondergang in $location: $sunset"
>
> doy=$(date +%j)
> echo "dag-nummer:" $doy
> echo "act:" $doy % 5
probeer eens
declare -i doy
doy=$(date +%j)
echo "dag-nummer: $doy"
echo "act: $((doy % 5))"
> De variabele doy (day of year) geeft het dagnummer juist weer,
> maar de berekening van modulus doe ik fout, want het script
> geeft de volgende output:
>
> Zonsopkomst in NLXX0015: 08:38
> Zonsondergang in NLXX0015: 16:32
> dag-nummer: 343
> act: 343
Da's merkwaardig: bij mij wordt dagnummer al 345.
> Weet iemand hoe ik de modulus kan berekenen?
Ja :-)
> (Bij modulus 5 is het geen probleem, want dat zie je direct.
> Voor modulus 3 bv is het minder voor de hand liggend ;-) )
>
> Iemand een idee hoe de output voor modulus te krijgen?
> bvd
> Julien
>
Suc6,
Daniel
--
Geeks of a feather cruft together
Meer informatie over de Linux
maillijst