相当新的编码,寻找一个有一个变量输出到本地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表格中。谢谢!
答案 0 :(得分:2)
当您托管自己的Web服务器时,CGI协议允许您使用任何语言进行服务器端编程;包括Bash。
这是一个简单的示例,它提供显示当前日期和时间的网页,并每10秒刷新一次。将下面的Bash脚本放在test.cgi
文件夹(在Linux / Apache:cgi-bin
)中名为/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协议相关。
用您自己的Bash脚本替换date
;确保它输出类似于有效HTML的内容。这意味着您需要花些精力为标记添加HTML标记,并对内容中的某些字符(< > &
)进行HTML编码。