ich bastel mir grad ein Wakeup-Script für meinen HTPC. VDR nutzt für den Aufnahmestatus eine Bitmaske:
1 - Timer ist aktiviert / deaktiviert
2 - Direktaufnahme (Record auf der Fernbedienung gedrückt)
4 - VPS
8 - VDR nimmt grad was auf.
Das geplante Script wird beim Runterfahren des Rechners ausgeführt. D.h. ich muss in der Bitmaske testen, ob Bit 1 gesetzt, Bit 2 und 8 nicht gesetzt sind. Die 4 ist egal.
Ausgeben kann man das auf die Art:
Code: Select all
echo $((9 & 8))Mein bisheriger Versuch:
Code: Select all
#!/bin/bash
is_active_timer()
{
[ $(($1 & 0x1)) == 1 ] || return 1
[ $(($1 & 0x2)) == 0 ] || return 1
[ $(($1 & 0x8)) == 0 ] || return 1
return 0
}
# main
while read TIMERS; do
IFS=":"
set -- $TIMERS
echo "${1}"
if is_active_timer "${1}" ; then
echo "ja"
else
echo "nein"
fi
unset IFS
done < cat timers.confWie krieg ich das am elegantesten gebacken?



