Code: Select all
#!/bin/bash
clean="output input cmds";p="backpipe";pid=$(cat pidfile)
ctrl_c() {
echo "Cleaning up..."
rm -f $p;rm "$clean";kill $pid 2>/dev/null
if [[ "$?" -eq "0" ]];
then
echo "Exit success";exit 0
else
exit 1
fi
}
([ ! -p "$p" ]) && mkfifo $p
(mosquitto_sub -h 192.168.1.8 -R -v -t "#" >$p 2>/dev/null) &
#echo "$!" > pidfile
while read line <$p
do
echo $line
printf "%s: %s\n" "Power" "$(grep -o "Power" $line | wc -w)"
done