![在 shell 脚本中检查是否连接到 VPN](https://linux22.com/image/189340/%E5%9C%A8%20shell%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%A3%80%E6%9F%A5%E6%98%AF%E5%90%A6%E8%BF%9E%E6%8E%A5%E5%88%B0%20VPN.png)
我正在尝试创建一个 shell 脚本来检查用户是否连接到 VPN。虽然我是 shell 脚本的初学者,但这是我的逻辑。
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
PUBLIC_IP="123.456.789.123%"
CURRENT_IP="$(curl api.ipify.org)"
我想将当前 IP 与我的常规 IP 进行比较,如果匹配,则应该echo "disconnected"
,否则echo "connected"
。
我该如何做呢?
答案1
在你的脚本中你可以写类似的东西
if [ "${CURRENT_IP}" = "${PUBLIC_IP}" ]; then
echo "disconnected"
else
echo "connected"
fi
请注意,PUBLIC_IP 中有一个百分号 ( %
),这会使比较始终失败。