1
我不明白爲什麼我的腳本不起作用。當我在Linux中連接互聯網時,它會顯示在線短語。當我沒有互聯網連接時,仍然顯示在線短語而不是離線。Ubuntu - 如果命令似乎不提供其他結果
#!/bin/bash
# system_page - A script to monitor various connections and produce
# system information in HTML file
##### Constants
TITLE="Monitor Information for $HOSTNAME"
RIGHT_NOW=$(date +"%x %r %Z")
TIME_STAMP="Updated on $RIGHT_NOW by $USER"
# clear the screen
clear
echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1
function net_info
{
if [ $? -eq 0 ]; then
echo "Online"
echo "<h2 style="background-color:#00FF00"><font size="6"> INTERNET IS CONNECTED</h2>"
else
echo "Offline"
echo "<h2 style="background-color:#FF0000"><font size="6"> INTERNET IS NOT CONNECTED</h2>"
fi
}
##### Main
cat <<- _EOF_
<html>
<head>
<title style="background-color:#0000FF">$TITLE</title>
</head>
<body>
<h1>$TITLE</h1>
<p>$TIME_STAMP</p>
$(net_info)
</body>
</html>
_EOF_
這是因爲幾乎所有在bash是一個命令,做你的支票後,你定義一個函數的函數裏面的線 - 這是成功的,因此狀態代碼爲0.您應該在檢查狀態之前將檢查移入該函數,或將狀態保存在變量中並檢查net_info函數中的變量。 – jszakmeister
非常感謝,它有效。 –