一行代码错误引发的血案

起因,早期为了家庭设备看IPTV方便,破解了联通IPTV。为了让udpxy能够主动识别iptv获取到的内网组播分配IP地址,写了一段代码进行监控网卡的活动。

#!/bin/bash
if [ $ACTION=ifup -a $INTERFACE=iptv ]; then
	/etc/init.d/udpxy restart
fi

这段代码被我命名成98-autoiptv,存到了/etc/hotplug.d/iface目录。

这期间使用一切正常,直到近期我更新了我的openwrt系统。系统更新后会出现一个问题,每隔三十分钟udpxy就会出现信号15,进行自动重启,而它这样的结果是直接导致所有设备每隔三十分钟就得断一次流。当时尝试了若干种方式排查问题,历时4天,终于发现ifup -a这个代码,不受支持。将语法改变成如下代码后。

#!/bin/bash
if [ "$ACTION" == "ifup" ] && [ "$INTERFACE" == "iptv" ]; then
    /etc/init.d/udpxy restart
fi

这个问题才被搞定。不是什么大事,发文记录一下。

暂无评论
头像

90后/死宅/代码/摩羯

发表评论