使用 JavaScript 读取 bash 输出

read bash output with javascript

本文关键字:输出 bash 读取 JavaScript 使用      更新时间:2023-09-26

我只看到将js值传递给bash脚本的主题。我希望在 javascript 中使用来自 bash 脚本的值。

我想要什么:

根据信号号,我的网页上应该显示一个不同的图标。信号编号需要每 5 秒检查一次,以便可以相应地更新图标。(就像手机上的信号质量条(。

我有什么:

一个名为 signal.sh 的 bash 文件,其中包含要执行的以下行:

/usr/bin/pretty-wifi-info.lua | grep 'Signal' | tr '%' ' ' | awk '{printf "{'"Signal'":"$2"}"}'

该脚本的输出是(例如(:

{"Signal":55}

换句话说,一个 JSON 对象。bash 脚本位于我的服务器上/www/signal.sh

我想知道的:

1(我如何使用javascript运行这个bash脚本,取出该json对象并使用数字在我的网站上用js进行计算(就像使用setInterval重新运行一个php文件一样,该文件输出json-obj获取存储在变量中的信息,然后使用该新变量更新div(。

2( 如何将不同的图标附加到特定值。

关于第一个。我真的一点头绪都没有!

后者应该 - 我认为 - 是一个 if, else if, else 语句,根据结果返回一个特定的img_src,该用于在

>每 5 秒更新一次。

希望有人能帮忙!

更新

我认为迈克尔·克拉克的答案是正确的。我使用他的信息来显示正确的图标。我决定不走节点的道路.js而是使用一个php文件来读取bash脚本。

只是一个想法..我真的不知道你想实现什么,但如果我在这里在同一页面上,这可能会起作用。

使用以下命令将 cron 作业设置为每 x 分钟或秒运行一次:

/usr/bin/pretty-wifi-info.lua | grep 'Signal' | tr '%' ' ' | awk '{printf "{'"Signal'":"$2"}"}' > /home/username/webFolder/signal.json

在你的 JavaScript 中,做一些事情:

<script type="text/javascript"  src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js"></script>
<script type="text/javacript">
var src = "http://www.myImage.com/somepicture.jpg";
$.getJSON("signal.json", function(json) {
    if(json.signal == 53){ 
     src = "http://www.myImage.com/signal53.jpg";
    } else if (json.signal == 54) {
     src = "localImageSignal54.jpg";
    }
    $("#img").innerHTML= "<img src='"+src+"' />";
});
</script>
<div id="img"></div>

这没有经过测试,但希望能让你入门。本质上,它是在本地读取 json 文件,然后根据 json 对象的信号属性设置图像源。完成后,它将适当的映像添加到 DOM 中。