如何在 Apache2 CGI 中捕获参数的值

Nya*_*baa 4 bash shell cgi web-applications apache2

我在 Ubuntu 上有一个小的 apache2 CGI 应用程序。CGI 处理程序是 bash shell 脚本。
我的客户端应用程序是search.html

<html>
<body>
<form action="/cgi-bin/search.sh" method="post">
    <input type="text" name="searchKey" size="10"></input>
    <input type=SUBMIT value="search">
<form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

首先,我只想在服务器端捕获“searchKey”参数的值。我试着跟随,但什么也没显示。
search.sh是:

#!/bin/bash
echo Content-type:text/plain 
echo ""

echo $SEARCHKEY
Run Code Online (Sandbox Code Playgroud)

伙计们,你能告诉我如何在服务器端捕获参数的值吗?

更新

感谢您的所有回答。我知道​​要获得 post 请求的值需要从 STDIN 读取数据。
我按照 Ithcy 的建议尝试如下

#!/bin/bash
echo post=$(</dev/stdin)
echo 'content length:'$CONTENT_LENGTH
echo 'content:'$post
Run Code Online (Sandbox Code Playgroud)

它只显示:

content length:30
content:
Run Code Online (Sandbox Code Playgroud)

为什么内容什么都没有?我需要在 Apache 服务器上做更多配置来读取发布数据吗?谢谢

glo*_*mad 5

POST 将通过 STDIN。

#!/bin/bash
POST=$(</dev/stdin)
echo $POST
Run Code Online (Sandbox Code Playgroud)

但是如果可以的话,你真的应该考虑使用 perl(或 python、PHP 等),正如格伦杰克曼所建议的那样。