#!/bin/bash # #SYNOPSIS # //god/licht [options] [0/1] #OPTIONS # all - toggles all lights # links - toggles all lights on the left hand side while looking towards the Auditorium # rechts - toggles all lights on the right hand side while looking towards the Auditorium # kuschel - toggles the lights in the pwnie corner # software - toggles the software corner # tische - toggles the lights on the window side of the long table # porsche - toggles the lights on the window side where the porsche cockpit is # ghetto - toggles the lights in the hallway # 0-7 - toggles individual lights toggle() { LAMPE=`echo "$1" | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc` TOGGLE=`echo "$2" | sed -n '/^[0-1]/p'` if ! [ "$LAMPE" -a "$TOGGLE" ];then echo "you are made of stupid" exit 1 fi STRING="\\xA5\\x5A\\x$LAMPE\\x$TOGGLE" if [ $# != 2 ] then echo "Usage: licht <0/1>" else echo "Toggle light $LAMPE ($TOGGLE)" printf "$STRING" | nc -u -w1 licht.shack 1337 fi } toggle_all() { for i in `seq 0 7` do printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & done wait } kuschel(){ for i in 0 2 do printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & done wait } software(){ for i in 1 3 do printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & done wait } tische(){ for i in 4 6 do printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & done wait } ghetto(){ printf "\\xA5\\x5A\\x7\\x$TOGGLE" | nc -u -w1 licht.shack 1337 } porsche(){ printf "\\xA5\\x5A\\x5\\x$TOGGLE" | nc -u -w1 licht.shack 1337 } case "$1" in --help) echo "Toggle the lights" echo "Usage: lich <0/1>" ;; all) TOGGLE=$2 toggle_all ;; kuschel) TOGGLE=$2 kuschel ;; software) TOGGLE=$2 software ;; links) TOGGLE=$2 kuschel software ;; rechts) TOGGLE=$2 tische porsche ghetto ;; tische) TOGGLE=$2 tische ;; porsche) TOGGLE=$2 porsche ;; ghetto) TOGGLE=$2 ghetto ;; *) toggle "$@" ;; esac