【已解决】在istore商店中,安装插件时,提示/bin/is-opkg: line 77: arithmetic syntax error

IySANCamille】 在 https://github.com/linkease/istore/issues/147 发布:

首先叠个甲,我没有任何linux过往经验都是现查现学,但有一些python基础,也就是略微略微能看得懂,剩下全是通过问AI解决的。。。

提示/bin/is-opkg的第77行有错,具体是啥错问AI
然后就是SSH用vim /bin/is-opkg去看一下,如下

看也看不出来啥,把这段复制出来问了一下AI,总的来说这段就是用来判断一下你还有多少空间装你选的那个插件
AI答说可能会有一些语法错误或者变量没赋值会导致这种错误,所以就深入问了一下每一段代码的含义

主要问题在这一段代码,这是获取可用空间的代码

然后AI自己写了一些自认为修正了的代码


AI也给了用echo打印每一段看看问题在哪的改法

然后就发现,echo "Free space in KB: $free_kb"这段代码并不能正确打印出来可用空间,而且下面转换出来的MB单位的也是0
反推这些发现,因为源代码我理解是写成了一个整体,导致根本就没有值,所以会报一个那种没赋值的错误

然后就是再深入检查为啥没有值返回,用AI提供的办法,在openwrt的ssh终端下尝试

我尝试df -h /的结果是正常的,返回了正确的结果,openwrt安在了哪,占用多少,可用多少,百分比这些

但是把AI改写的,与源代码第77行相同效果的代码复制进来就发现根本返回不了任何东西,这里没图。。。
然后再拆分这段代码,并用AI提供的另一种方法一点一点组合提取的代码
image

最终自己稍微改了改提取的值,发现一个问题就是,/dev/mapper/pve-vm–101–disk–0我的这段太长了,导致后面占用空间可用空间那些信息跑到所谓的第三行去了,而awk 'NR==2 {print $4}'里的2和4指的第二行第4列,所以第二行只有第一个这个路径,根本没有后面那些信息。所以最终把源代码这里的2和4改成3和3,reboot的一下,插件就不报错顺利下载了

======================================================================================
记录一下发现的这个问题,希望能帮到各位
另外如果有其他可能得问题,希望大佬提出,我也不懂,只是这么改完了感觉能用