对编码相当陌生,正在寻求一些关于将变量输出到本地 html 文件的帮助。脚本和html都在同一台机器上。脚本从调制解调器提取信号电平,我希望将其显示到本地 html 加载屏幕。
信号脚本:
#!/bin/bash
MODEM=/dev/ttyUSB3
MODEMCMD=AT+CSQ
{
echo -ne "$MODEMCMD"'\r\n' > "$MODEM"
if [ $? -eq 1 ]
then
echo "error";
exit;
fi
{
while read -t 1
do
if [[ $REPLY == +CSQ* ]]
then
arr1=$(echo "$REPLY" | cut -d' ' -f2)
arr2=$(echo "$arr1" | cut -d',' -f1)
echo "$arr2"
exit;
fi
done
echo "error";
} <"$MODEM"
} 2>/dev/null
希望其输出显示在我的 html 上的表格中。谢谢!
当您托管自己的 Web 服务器时,CGI 协议允许您使用您喜欢的任何语言进行服务器端编程;包括 Bash。
这是一个简单的示例,它提供一个显示当前日期和时间的网页,并且每 10 秒刷新一次。将下面的 Bash 脚本放入
test.cgi
文件夹中名为 cgi-bin
的文件中(在 Linux/Apache 上:/usr/lib/cgi-bin
)并使其可执行 (chmod +x test.cgi
)。该页面的网址是:http://MyWebServer/cgi-bin/test.cgi
#!/bin/bash
cat << EOT
content-type: text/html
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="refresh" content="10" />
</head>
<body>
$(date)
</body>
</html>
EOT
请注意:
content-type
下面的空行与 CGI 协议相关。
将
date
替换为您自己的 Bash 脚本;确保它输出类似于有效 HTML 的内容。这意味着您需要花费一些精力为标记添加 HTML 标签,并对内容中的某些字符 (< > &
) 进行 HTML 编码。