大侠帮我看看这if fi的shellscript为何会运行不正常?
发表于 : 2011-01-14 10:27
根据鸟哥的教材写的一个shellscript
testing=$(netstat -tun | grep ":80 ") # 偵測看 port 80 在否?
if [ "$testing" != "" ]; then
echo "WWW is running in your system."
fi
testing=$(netstat -tun | grep ":22 ") # 偵測看 port 22 在否?
if [ "$testing" != "" ]; then
echo "SSH is running in your system."
fi
testing=$(netstat -tun | grep ":21 ") # 偵測看 port 21 在否?
if [ "$testing" != "" ]; then
echo "FTP is running in your system."
fi
testing=$(netstat -tun | grep ":25 ") # 偵測看 port 25 在否?
if [ "$testing" != "" ]; then
echo "Mail is running in your system."
fi
我直接netstat -tun,目前是只有tcp80端口的链接,根本没有SSH、FTP、MAIL的链接,根据以上shell的判断,运行结果照例是会只输出显示"WWW is running in your system.",但是我实际输出结果却是四个echo都显示了出来,请问为何?
testing=$(netstat -tun | grep ":80 ") # 偵測看 port 80 在否?
if [ "$testing" != "" ]; then
echo "WWW is running in your system."
fi
testing=$(netstat -tun | grep ":22 ") # 偵測看 port 22 在否?
if [ "$testing" != "" ]; then
echo "SSH is running in your system."
fi
testing=$(netstat -tun | grep ":21 ") # 偵測看 port 21 在否?
if [ "$testing" != "" ]; then
echo "FTP is running in your system."
fi
testing=$(netstat -tun | grep ":25 ") # 偵測看 port 25 在否?
if [ "$testing" != "" ]; then
echo "Mail is running in your system."
fi
我直接netstat -tun,目前是只有tcp80端口的链接,根本没有SSH、FTP、MAIL的链接,根据以上shell的判断,运行结果照例是会只输出显示"WWW is running in your system.",但是我实际输出结果却是四个echo都显示了出来,请问为何?