![重置 Bash 用于自动完成的内存](https://linux22.com/image/75259/%E9%87%8D%E7%BD%AE%20Bash%20%E7%94%A8%E4%BA%8E%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E5%86%85%E5%AD%98.png)
将文件重命名为类似名称后,我注意到 TAB 仍在完成旧文件名(如果它与到目前为止的字母匹配)并且没有显示新文件名。无论我输入多少个字母,它都拒绝完成新名称。
我只是通过启动一个新的 shell 来修复它。一切都很好,但我仍然很好奇发生了什么。
我假设 Bash 正在某处缓存文件字符串,并且当文件被重命名时缓存无法刷新/清除自身。我的假设正确吗?如果正确,缓存如何自动刷新?
答案1
我最近安装了git补全它做了一些缓存。我需要更详细地查看,但无论如何,它确实缓存,所以这就是原因。
将文件重命名为类似名称后,我注意到 TAB 仍在完成旧文件名(如果它与到目前为止的字母匹配)并且没有显示新文件名。无论我输入多少个字母,它都拒绝完成新名称。
我只是通过启动一个新的 shell 来修复它。一切都很好,但我仍然很好奇发生了什么。
我假设 Bash 正在某处缓存文件字符串,并且当文件被重命名时缓存无法刷新/清除自身。我的假设正确吗?如果正确,缓存如何自动刷新?
我最近安装了git补全它做了一些缓存。我需要更详细地查看,但无论如何,它确实缓存,所以这就是原因。