将 Shell 脚本变量输出到 HTML

问题描述 投票:0回答:1

对编码相当陌生,正在寻求一些关于将变量输出到本地 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 上的表格中。谢谢!

html bash variables
1个回答
2
投票

当您托管自己的 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 编码。

© www.soinside.com 2019 - 2024. All rights reserved.