[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