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

Lec*_*ere 2 linux bash grep command netcat

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

到目前为止,我有这个;

netcat -lk 12345 | grep "Keep-Alive"
Run Code Online (Sandbox Code Playgroud)

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

它需要在crontab中运行...

谢谢你的帮助!

小智 8

这个怎么样?

    #!/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
Run Code Online (Sandbox Code Playgroud)

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