未找到路径中的命令

未找到路径中的命令

我在路径中有一个命令~/.local/bin/(我们称之为狗)。使用完整路径调用命令~/.local/bin/dog可以按预期工作。

当我这样做时,which dog我得到了预期的~/.local/bin/dog.当我检查 $PATH~/.local/bin是否存在(实际上是/home/ec2-user/.local/bin

但如果只是输入dog我会收到以下错误:

-bash: /usr/local/bin/dog: No such file or directory

的输出type dogdog is hashed (/usr/local/bin/dog) 但对于type -a dogdog is /home/ec2-user/.local/bin/dog

有想法吗?

答案1

也许你应该运行命令hash -r。从约翰1024的回答:

如果您更新系统并导致某些可执行文件移动到新位置,则 shell 可能会感到困惑。解决方案是运行 hash -r,这会导致 shell 忘记所有散列位置并从头开始搜索 PATH。

相关内容