我已经卸载了gnome-screenshot,但是当我在终端中编写gnome并点击TAB时,它仍然建议gnome -屏幕截图(以及其他gnome应用程序,但它是正确的)。如果我想使用卸载的gnome-屏幕截图,bash正确地通知没有这样的程序。
bash: gnome-screenshot: command not foundwhich也找不到截图的路径。我从路径中搜索目录,但是没有像gnome-屏幕截图那样的文件。
为什么我能看到错误的建议?
编辑:
谢谢你的回答,我学到了一些新东西。我还发现我的.bashrc.中有别名D6
我完全忘了它。我真傻。
发布于 2019-10-13 21:23:35
bash外壳缓存它在$PATH中搜索路径时找到的位置命令。这使shell能够知道,例如,ls是/bin/ls,而无需每次使用ls时都搜索$PATH目录。
卸载提供以这种方式缓存的命令的包时,shell将不会知道该命令的缓存位置在尝试实际使用该命令之前不再有效,并且失败。
您可以清空这个缓存,以强制shell重新扫描$PATH以确定命令的位置。您可以使用hash -r (请参阅bash shell中的help hash )来完成此操作。
因此,简而言之,shell仍然认为gnome-screenshot存在,因此它完成了该命令的名称。运行hash -r使shell忘记缓存的命令位置。
https://unix.stackexchange.com/questions/546636
复制相似问题