使用 Bash 测试计算机连接

Testing computer connectivity with Bash

作为菜鸟,我无法发表评论,因此发布一个问题以扩展该主题的答案; How to test an Internet connection with bash?

Mac 个用户。

答案中指定的 -w1 或 -w 1 选项不适用于 Mac 但是,-W1 或 -W 1 确实有效。这是 Mac 而不是 invalid/unavailable 选项的区分大小写问题。

On Mac:我假设你需要暂停?使用 -t 选项有什么问题(超时)?

此脚本改编自您的 link:

checkInternet () {
    error=$(ping -q  -t1 -c1 "8.8.8.8" 2>&1 >"/dev/null" || true)

    if [ "${error}" != "" ]; then
        echo "No internet" >&2
        exit 1
    fi
    echo "Internet" >&2
}

checkInternet