我正在使用Apache的(2.4)include_module来构建一些简单的网页来输出正在运行的系统的状态。例如,一个页面包含HTML片段:
<pre>
<!--#exec cmd="ps ax" -->
</pre>
应该并且确实将 ps 命令的输出放在页面上。然而,它是一个相当大的列表,它的最后一部分被切断。显示的部分长约9000个字符。
我无法找到有关SSI命令的输出限制的任何文档。有人可以告诉我这里发生了什么吗?
更新:看看&#34;限制&#34;我将命令更改为 cat joonk.txt 并用大量文本填充该文件。似乎没有限制 您可以输出多少文本并显示。
但是我发现输出对内容非常敏感。 ps 命令包含输出:
4306 tty7 S<s+ 9:59 /usr/bin/X -nolisten tcp :0 -auth /tmp/serverauth.sjfX0yR4qj
并且输出总是在&#34; S&#34;之后停止。 &#34;&lt;&#34;以后的角色不输出。无论是通过 ps 命令还是 cat 命令输出,都是如此。所以它看起来像是XML / HTML标记的开头。
所以我正在改变我的问题 - 如何阻止所包含的文本被解释? pre 标记显然不会这样做。
答案 0 :(得分:0)
我习惯使用的解决方案是过滤输出以转义HTML特殊字符。而不是
ps ax
我用
ps ax | sed -e 's~&~\&~g' -e 's~<~\<~g' -e 's~>~\>~g’
脚注:似乎有 xmp 标记执行此操作并且受所有浏览器支持但在标准中已弃用。