我有一个odroid-c1 +,我想用它作为pi-hole服务器(基本上是dns blackhole for ad')
我想在日志文件中找到一个字符串时触发led闪烁。
我也已经安装了布线工作,示例blink.sh按预期工作如下:
PIN=0
gpio mode $PIN out
while true; do
gpio write $PIN 1
sleep 0.5
gpio write $PIN 0
sleep 0.5
done
如何将tailf触发器添加到此样本中?
答案 0 :(得分:2)
未经测试,但我相信您可以将tail
的输出提供给您的while循环:
#!/bin/bash
pin=0
gpio mode $pin out
tail -f logfile | while read entry
do
if [ "$entry" = "string" ]; then
gpio write $pin 1
sleep 0.5
gpio write $pin 0
sleep 0.5
fi
done
传统上保留大写变量名称以供shell使用。
答案 1 :(得分:1)
感谢miken32的伟大开始!
我已经能够拿出你的样本并通过以下方式调整它以适用于我的应用程序:
#!/bin/bash
pin=0
gpio mode $pin out
gpio write $pin 0
tailf /var/log/pihole.log | while read INPUT
do
if [[ "$INPUT" == *"/etc/pihole/gravity.list"* ]]; then
gpio write $pin 1
sleep 1
gpio write $pin 0
fi
done
再次感谢您的帮助!