Estou tentando extrair o conteúdo de uma solicitação POST de nc
. Meu código é baseado em este exemplo :
#!/bin/bash
rm -f out
mkfifo out
trap "rm -f out" EXIT
while true
do
cat out | ./busybox-armv7l nc -lv -p 55764 -w 1 > >(
while read line
do
line=$(echo "$line" | tr -d '[\r\n]')
if echo "$line" | grep -qE '^POST /'
then
REQUEST=$(echo "$line" | cut -d ' ' -f2)
elif [ "x$line" = x ]
then
echo $REQUEST
echo -e "HTTP/1.1 200 OK\n\n" > out
fi
done
)
done
Eu quero imprimir o conteúdo ( $REQUEST
) e responder ao cliente.
Em vez disso, apenas exibe este erro:
./webserver.sh: line 12: /dev/fd/62: No such file or directory
e a linha 12 é:
cat out | ./busybox-armv7l nc -lv -p 55764 -w 1 > >(
Estou ciente de que esse erro está relacionado à substituição do processo, mas não consigo entender o que está errado aqui.
Existe uma maneira mais simples de capturar o conteúdo do POST?