linux – 使用netcat和grep有条件地运行命令

提问

我需要netcat来监听HTTP请求,并根据请求,我需要运行一个脚本.

到目前为止,我有这个;

netcat -lk 12345 | grep "Keep-Alive"

所以每当netcat收到一个包含“keep-alive”的包时,我需要触发一个脚本.

它需要在crontab中运行…

谢谢你的帮助!

最佳答案

这个怎么样?

    #!/bin/bash

    netcat -lk -p 12345 | while read line
    do
        match=$(echo $line | grep -c 'Keep-Alive')
        if [ $match -eq 1 ]; then
            echo "Here run whatever you want..."
        fi
    done

将“echo”命令替换为要执行的脚本.