![bash:script/bash_completion_dog:没有此文件或目录](https://linux22.com/image/1085066/bash%EF%BC%9Ascript%2Fbash_completion_dog%EF%BC%9A%E6%B2%A1%E6%9C%89%E6%AD%A4%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95.png)
当我打开终端时,我收到此消息。我尝试更正 .bashrc 文件,但找不到与此错误消息相关的任何内容。我该如何解决这个问题?
根据建议特登,我尝试了以下方法:
grep -H "bash_completion_dog" ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
~/.bash_aliases /etc/bash.bashrc /etc/profile /etc/profile.d/*\
/etc/environment 2>/dev/null
我也尝试使用以下方法搜索我的 /etc 目录grep,但没有效果。
答案1
我找到了答案。原来,有一个名为的应用程序sheepdog
导致了这个问题。我首先删除了该应用程序,然后进入目录/etc/bash_completion.d
并删除了该目录,如下所示:
sudo rm -rf sheepdog
并重新启动terminal
。它运行正常。
答案2
有各种文件这些文件会在您启动新 shell(例如打开新终端窗口)时读取。具体哪些文件取决于您正在运行的 shell 类型,但错误可能是由各种文件引起的。最简单的检查方法是搜索所有文件以查找导致错误的脚本的名称:
grep -H "bash_completion_dog" ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
~/.bash_aliases /etc/bash.bashrc /etc/profile /etc/profile.d/*\
/etc/environment 2>/dev/null
上述命令将在您的 shell 可能正在读取的所有各种文件中进行搜索bash_completion_dog
。如果该命令未返回任何内容,则该文件正在被某个程序调用,而该程序又被其中一个文件调用。因此,如果上述命令未返回任何内容,请编辑您的问题以添加您尝试过此操作,然后我们可以从那里开始。还可以尝试搜索以下文件中的内容/etc
:
grep "bash_completion_dog" /etc/* 2>/dev/null