在发布此内容之前大约半小时,我运行了autoclean
和autoremove
命令。
运行命令几分钟后,我运行了一个我已经使用了几个月的脚本,没有任何问题。
这次运行脚本后,迎接我的是:
"line 46: read: read error: 0: Resource temporarily unavailable"
循环(脚本在while
循环内运行)。
我花了大约五分钟的时间努力寻找问题,然后我回想起autoremove
和autoclean
命令,并认为它们几乎肯定是问题的原因,因为它们是我所做的唯一更改。
鉴于命令的性质和错误消息,我得出的结论是该read
命令必须已被删除。
我已经实现了apt
重新安装所有发行版核心软件包的命令,希望能够重新安装read
,但如果失败,有没有办法read
自行重新安装该命令?
我已经尝试过显而易见的方法apt install -y read
,但这不起作用,我环顾四周,但尽管专门搜索“如何安装读取命令”,我只是得到了如何安装的示例使用读取命令,因此核心重新安装和这个问题。
预先感谢您的建议:)
(哦,在你问之前,我有尝试将其关闭然后再次打开:D)
答案1
它read
不是一个工具,而是一个命令,内置于 shell 中。它存在于所有的外壳中bash
,ksh
甚至zsh
是经典sh
。所以你无法卸载它。
检查脚本正在读取什么内容。文件?标准?一些管子?
这也可能是提供输入流的任何内容的临时问题,因此重新启动终端或重新启动计算机会有所帮助。
apt autoremove
打破这个的唯一可能的方法read
是如果你的 shell 正在使用一些外部库并且该库被删除。在这种情况下,您需要重新安装 shell ( apt update bash
)。但这不太可能。