在html页面上显示bash脚本输出

时间:2016-03-15 19:02:53

标签: javascript html bash

我有一个bash脚本来获取某些设备状态/数据包丢失,看起来像这样(更改了名称/ IP地址):

DataError

我需要在HTML页面中显示该输出。

有些人告诉我使用JavaScript来提取状态/数据包丢失,将它们放在一个JSON对象中并从那里将它扔到我的页面。但我不知道该怎么做,或者这是否是正确的做法。

2 个答案:

答案 0 :(得分:0)

您只对简单网站使用cgi-bin,因此请使用简单的解决方案:
将脚本的输出显示为预先格式化的测试:

echo "<pre>"
echo "Your ping results"
echo "</pre>"

当这种方法有效时,您可能需要使用一些轻量级的HTML代码:

echo "<html>
<head>StackOverflow helps</head>
<body>
<br/>
My ping results are ...
<br/>
<table><tr><td>"
echo "your ping results"
echo "
</tr></td>
</table>
</body>
</html>
"

如果您有不同的脚本需要类似的html布局,您可以创建一个html文件并将结果放在占位符中。您需要做的就是在脚本中流式传输html文件,并将占位符替换为要显示的结果。

答案 1 :(得分:0)

如果您对PHP感到满意:

<?php
$TSTAMP = date('Y-m-d h:i');

$device1 = shell_exec("ping -c 1 100.1.0.2 | grep packet | awk '{ print $6 \" \" $7 \" \" $8 }'");
$device2 = shell_exec("ping -c 1 100.1.0.3 | grep packet | awk '{ print $6 \" \" $7 \" \" $8 }'");
$device3 = shell_exec("ping -c 1 100.1.0.4 | grep packet | awk '{ print $6 \" \" $7 \" \" $8 }'");
$device4 = shell_exec("ping -c 1 100.1.0.5 | grep packet | awk '{ print $6 \" \" $7 \" \" $8 }'");
$device5 = shell_exec("ping -c 1 10.1.0.250 | grep packet | awk '{ print $6 \" \" $7 \" \" $8 }'");
$device6 = shell_exec("ping -c 1 8.8.8.8 | grep packet | awk '{ print $6 \" \" $7 \" \" $8 }'");

echo "Device 1: ${device1}<br />";
echo "Device 2: ${device2}<br />";
echo "Device 3: ${device3}<br />";
echo "Device 4: ${device4}<br />";
echo "INTERNET WITH: ${device5}<br />";
echo "Device 6 Proxy : : ${device6}<br />";
echo "Last Update ${TSTAMP}";
?>

现在的问题是,PHP是一种服务器端语言。这意味着当您运行网站时,您将始终从服务器的角度获得结果。客户端语言不是这种情况,例如Javascript(因为此帖被标记)。

另一个问题是确保您的Web服务器安装了PHP,以便可以执行此文件。

如果您正在寻找可以在计算机上打开的文件,除非您在本地安装了PHP,否则不是这样。