系统: Deepin 20.2.1 桌面社区版
a p t: 1.8.2(amd 64)版本
问题情景: 从Deepin 15.11 升级到Deepin 20之后就出现了这个错误(时间太久,我也不清楚具体怎么就出现这个错误的,记得当时是通过直接修改 /etc/apt/sources.list 文件升级的,之后过了好长时间没处理这个问题,现在花了一整天时间解决这个问题)
参考博客: apt-show-versions 错误处理思路
致谢: 十分感谢所参考博客的作者,没有你的博客我解决不了这个问题
预备知识: 打开菜鸟教程,学一下perl 变量,并研究一下open函数和split函数
情景再现: 执行 sudo apt update 报错
命中:1 https://community-packages.deepin.com/deepin apricot InRelease
命中:2 https://community-store-packages.deepin.com/appstore eagle InRelease
命中:3 https://community-packages.deepin.com/printer eagle InRelease
命中:4 https://repo.steampowered.com/steam stable InRelease
命中:5 https://dl.yarnpkg.com/debian stable InRelease
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 598, <FILE> line 1103.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 599, <FILE> line 1103.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 598, <FILE> line 3197.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 599, <FILE> line 3197.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 598, <FILE> line 3198.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 599, <FILE> line 3198.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 598, <FILE> line 3629.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 599, <FILE> line 3629.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 598, <FILE> line 6722.
Use of uninitialized value $value in substitution (s///) at /usr/bin/apt-show-versions line 599, <FILE> line 6722.
Use of uninitialized value $value in substitution (s///) at /u