39 lines
815 B
Bash
39 lines
815 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
COMMAND_FILE=/tmp/command
|
||
|
COMMAND_FILE_TMP=/tmp/command_tmp
|
||
|
|
||
|
lounge_light() {
|
||
|
echo "not implemented"
|
||
|
}
|
||
|
|
||
|
lounge_light_toggle() {
|
||
|
./light.sh
|
||
|
}
|
||
|
|
||
|
cd "$(dirname $0)"
|
||
|
touch "$COMMAND_FILE"
|
||
|
chmod 666 "$COMMAND_FILE"
|
||
|
while inotifywait -qq -e close_write "$COMMAND_FILE"; do
|
||
|
mv "$COMMAND_FILE" "$COMMAND_FILE_TMP"
|
||
|
sleep .1 # wait for possible further/parallel writes to end
|
||
|
while IFS='' read -r line || [[ -n "$line" ]]; do
|
||
|
echo "Text read from file: $line"
|
||
|
case "$line" in
|
||
|
lounge_light_toggle)
|
||
|
lounge_light_toggle
|
||
|
;;
|
||
|
lounge_light*)
|
||
|
lounge_light "$COMMAND"
|
||
|
;;
|
||
|
*)
|
||
|
echo "ERROR; available commands:" >&2
|
||
|
echo "lounge_light lounge_light_toggle" >&2
|
||
|
;;
|
||
|
esac
|
||
|
done < "$COMMAND_FILE_TMP"
|
||
|
rm "$COMMAND_FILE_TMP"
|
||
|
touch "$COMMAND_FILE"
|
||
|
chmod 666 "$COMMAND_FILE"
|
||
|
done
|