我最近开始使用 cgi。由于我必须显示某些端口的端口使用信息,我编写了以下代码:
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>PortInfo</title></head><body><center>"
echo "<h1>Port 80 Usage Info</h1>"
#method1
echo "<pre> $(lsof -i :80) </pre>"
#method2
echo "$(lsof -i :80 > /home/shine/Desktop/tmp.txt)"
echo "<pre> $(cat /home/shine/Desktop/tmp.txt) </pre>"
echo "<center>Information generated on $(date)</center>"
echo "</center></body></html>"
方法1:这里的问题是echo "<pre> $(lsof -i :80) </pre>"
没有给出任何输出。
方法 2:在此方法echo "$(lsof -i :80 > /home/shine/Desktop/tmp.txt)"
中,永远不会在桌面上创建名为 tmp.txt 的文件,因为它应该这样做。
重要提示:上面指定的两种方法一旦在终端中执行就可以完美运行。