Web浏览器中的Bash输出

时间:2014-02-26 13:54:27

标签: php bash

我在bash中创建了一个脚本,用于将ping进入文件。

#!/bin/sh
echo "Starting script"
echo "Working.."
while true; do
    DATE=$(date)
    PING=$(ping -c 1 google.pl | tail -1| awk '{print $4}' | cut -d '/' -f 2)
    echo "$DATE Ping: $PING" >> logs/ping.txt
    sleep 5000
done

但由于缺少可用空间,我将echo "$DATE Ping: $PING" >> logs/ping.txt更改为仅echo "$DATE Ping: $PING"以重新接收cmd中的每一行,并且它有效

但仍然主要的想法是通过Web浏览器运行scipt并显示其输出。 (我可以运行它,但我不知道如何在浏览器中显示回声输出)

3 个答案:

答案 0 :(得分:1)

您可以使用以下方法从php调用bash脚本:

exec('myscript.sh');

然后使用:

打开ping.txt
$myFile = "ping.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
echo $theData;

没有文字文件:

$ping = shell_exec('myscript.sh');
echo "<pre>$ping</pre>";

答案 1 :(得分:0)

如果您需要从PHP执行bash脚本并在浏览器中显示输出,那么只需使用shell_exec() PHP函数

来自php.net的例子:

<?php
$output = shell_exec('/path/script-name-here');
echo "<pre>$output</pre>";
?>

答案 2 :(得分:0)

使用一点ajax并使用Net_Ping,您可以拥有一个近乎实时更新的页面。 或者使用shell_exec从php内部运行ping并回显从它返回的输出。