对不起 UNIX 新手。我有一个在我的 NAS 上运行的脚本,它只是检查我的 IP 是什么,并运行一个脚本来重新连接 VPN(如果它已更改)。
注意:对于这个示例,我已将下面 IP 中的前四个数字更改为“x”,我知道它们需要反映我的真实 IP 地址。
#!/bin/sh
YOUR_IP="$(w3m -dump http://checkip.dyndns.org)"
echo "Current ip:" "$YOUR_IP"
if [ "$YOUR_IP" == "Current IP Address: XX.XX.148.73" ]
then
echo "UP VPN is active :)"
else
echo "DOWN VPN is disconnect :("
sh /opt/etc/init.d/S20openvpn restart
fi
echo "$(date +"%d / %m / %Y")"
echo "$(date +"%H : %M : %S")"
echo "------------------------"
exit
谁能告诉我为什么 if else 语句不运行。在我的日志中,我得到以下信息。我猜该语句必须出错,否则它会回显某些内容,而目前它没有。这可能只是一个语法错误,或者 w3m -dump 在运行 if else 之前没有得到它的结果,我不知道足够的 UNIX 来调试。任何帮助都会很棒。
Current ip: Current IP Address: XX.XX.148.73
16 / 05 / 2012
18 : 50 : 01