【发布时间】:2014-02-20 08:00:09
【问题描述】:
我正在使用 php 的 shell_exec 函数调用 shell 脚本,我正在将文件 从另一台服务器下载到该 php 页面所在的服务器使用 wget 命令托管并在完成该过程后向我的页面发送报告。它工作正常。
这是我的TestFile.php 文件
<?php
$output = shell_exec("sudo /home/user/myScript");
echo "<pre>$output</pre>";
?>
还有我的 bash 脚本 myScript
#!/bin/sh
sudo wget -O /path/to/download/downloadfile http://example.com/TestFile.zip
但是我想在我调用 shell 脚本的网页上显示 wget 操作的实时进度。我想以百分比显示实时进度。通过这种方式,我可以使用此命令将 wget 的进度以百分比形式发送到网页
sudo wget -O /path/to/download/downloadfile http://example.com/TestFile.zip 2>&1 | grep -o "[0-9]\+%"
而且,输出是这样的
2%
4%
6%
8%
...
...
...
95%
97%
99%
100%
但是这个输出是在完成这个过程之后出现的。在进程运行时,窗口不显示任何内容。但我不想要这个。
我希望在 wget 进程运行时实时更新进程,而不是在完成命令后。
谁能帮我解决这个问题。
提前致谢。
【问题讨论】: