[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