shell 用于 ping ip 地址的 cgi 脚本
shell cgi script to ping ipaddress
如何使用 shell 脚本在 cgi 中 ping 特定 IP 地址。
我这里有一个代码,当我在控制台上 运行 时它工作正常。
#!/usr/bin/bash
echo "Content-type: text/html"
echo ""
ipaddr="192.168.1.1"
ping -c 2 $ipaddr &> /dev/null
if [ $? -eq 0 ]
then
PingStatus="<font color='green'>Success</font>"
# Following line is to just to test on console output
echo "ping is Success"
echo $PingStatus
else
PingStatus="<font color='red'>Failed</font>"
# Following line is to just to test on console output
echo "ping is Failed"
echo $PingStatus
fi
输出:
Content-type: text/html
ping is Success
<font color='green'>Success</font>
但是当我 运行 通过浏览器时,获取 ping 状态为失败[其他部分已执行]。任何帮助将不胜感激。
通过启用 ping
的权限解决了上述问题。
启用权限的命令
sudo chmod u+s `which ping`
如何使用 shell 脚本在 cgi 中 ping 特定 IP 地址。 我这里有一个代码,当我在控制台上 运行 时它工作正常。
#!/usr/bin/bash
echo "Content-type: text/html"
echo ""
ipaddr="192.168.1.1"
ping -c 2 $ipaddr &> /dev/null
if [ $? -eq 0 ]
then
PingStatus="<font color='green'>Success</font>"
# Following line is to just to test on console output
echo "ping is Success"
echo $PingStatus
else
PingStatus="<font color='red'>Failed</font>"
# Following line is to just to test on console output
echo "ping is Failed"
echo $PingStatus
fi
输出:
Content-type: text/html
ping is Success
<font color='green'>Success</font>
但是当我 运行 通过浏览器时,获取 ping 状态为失败[其他部分已执行]。任何帮助将不胜感激。
通过启用 ping
的权限解决了上述问题。启用权限的命令
sudo chmod u+s `which ping`