Closed KansChen closed 1 week ago
补充本地环境信息。 设备是红米AX6S路由器,刷入了OpenWrt R22.4.1-PokerS v3 / LuCI Master (git-22.103.65959-d9db1b0)。 内核版本:5.10.110
~# cat /proc/version
Linux version 5.10.110 (pokers@PokerS-PC) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 8.4.0 r4457-b6dfa17e4) 8.4.0, GNU ld (GNU Binutils) 2.34) #0 SMP Sun Apr 17 02:11:20 2022
已在最新的commit中尝试修复该Bug,麻烦测试并反馈结果。
测试两个星期暂时未发现bug
连接时脚本提示
arithmetic syntax error
检查得到是的问题,使用电信校园网,有限制时间,运行在openwrt。
运行时间是周五晚上23:15,24/9/27。
“arithmetic syntax error”可能是由于在OpenWrt的默认Shell环境中,不支持
$((10#$time))
这种语法导致的。在Bash中,
$((10#$time))
用于将变量$time
解释为十进制数,避免因前导零导致的八进制解析问题。然而,OpenWrt通常使用ash
(Almquist shell)或BusyBox的内置Shell,这些Shell的算术扩展不支持base#number
的语法。问题原因:
base#number
语法: 脚本中,$((10#$time))
试图将$time
视为十进制数,但在ash
或BusyBox的Shell中,这种语法会导致语法错误。解决方案:
$time
中的前导零: 通过删除$time
中的任何前导零,可以避免Shell将其误认为八进制数。以下是修改后的脚本: