[linux] crontab script wordt twee keer gestart?

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Di Feb 4 15:58:03 CET 2020


Aldus schreef Geert Stappers op Tue, Feb 04, 2020 at 12:42:00PM +0100:
> On Tue, Feb 04, 2020 at 12:10:30PM +0100, paai wrote:
> > Paul Slootman:
> > > Hans Paaijmans:
> > > > [ ... ]
> > > [ ... ]
> > 
> > 
> > #!/bin/bash
> > while a==a ; do
> 
> ?
> 
> En ja, dat kan ik ook fatsoenlijker vragen:
> 
>   De constructie 'while a==a' in een bash-shell-script ziet erg vreemd
>   uit. Wat zou het moeten doen? En heeft het dat ook weleens gedaan?

'a' is in de meeste Linuxen een niet bestaand commando (niet verwarren
met $a dat een omgevingsvariabele is). Het zou 127 retourneren. 
a==a retourneert 0 en is daarmee gelijk aan /bin/true.

Nu zou u 'a==a' kunnen verwarren met '[ a == a ]', maar het is heel 
wat anders. Het is namenlijk gewoon een assignment operator die de
omgevingsvariabele a de waarde '=a' geeft. Maar dat slaagt altijd
zodat de opdracht weer 0 retourneert. 

> 
> > sleep 60
> > a=`/usr/bin/xprintidle`

Nu ben ik benieuw wat de waarde van $a hierna zal zijn.

> > # bereken a in seconden
> > a=$((a/1000))
> > /usr/bin/echo $a >> /home/paai/bin/sluit_log
> > 
> > # 900 seconden, vijftien minuten
> > echo $a
> > if [ $a -gt 300 ] ; then
> >   /usr/bin/date >> /home/paai/bin/sluit_log
> >   /usr/bin/echo "paaihost" | /usr/bin/sudo /usr/sbin/shutdown -h +1
> >   /usr/bin/xmessage -buttons reboot,doorgaan "$@" "reboot in 30 seconds"
> > 
> >   case "$?" in
> >      101) /usr/bin/echo "OK to shutdown"; /usr/bin/echo "paaihost" |
> > /usr/bin/sudo /usr/sbin/shutdown -h -t 1 now;;
> >      102)  /usr/bin/sudo /usr/sbin/shutdown -c;;
> >   esac
> > fi
> > 
> > done
> 
> 
> Groeten
> Geert Stappers
> -- 

Met vriendelijke groet,



Daniel von Asmuth
-- 
	
		if at first you don't succeed
		keep rubbing till your fingers bleed
		


Meer informatie over de Linux maillijst