我想运行一个脚本来响应某些网络事件,为此我正在使用以下命令监视网络路由
ip monitor route dev enp3s0
ip monitor
等待事件并在事件发生时打印它们。
我希望这些事件触发另一个脚本。
我有一个我认为是粗略的解决方案:
ip monitor route dev enp3s0 > /var/log/ipmon.log
进而
while inotifywait /var/log/ipmon.log; do something;done;
但我怎么能do something
不使用inotifywait
.
答案1
将其输出提供给 shell(或任何其他语言)循环:
ip monitor route dev enp3s0 | while read event; do
case "$event" in
'Deleted default'*)
...
;;
'local '*)
...
;;
...)
...
;;
...
esac
done