gpt4 book ai didi

linux - 为什么Linux 不在PATH 环境的所有目录中寻找命令?

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:20 30 4
gpt4 key购买 nike

我首先通过以下命令安装 docker docker site :

curl -s -O https://get.docker.com/builds/Linux/x86_64/docker-1.6.1 && chmod +x docker-1.6.1 && sudo mv docker-1.6.1 /usr/local/bin/docker

然后我删除 /usr/local/bin 目录中的 docker

我再次通过yum安装docker,这次docker安装在/usr/bin目录下:

[root@dl380gen8snbjbb ~]# ls -lt /usr/bin/docker
-rwxr-xr-x 1 root root 13451927 Apr 20 13:44 /usr/bin/docker

当我在命令中执行 docker 时:

[root@dl380gen8snbjbb ~]# docker
-bash: /usr/local/bin/docker: No such file or directory

但是 /usr/bin 实际上在 PATH 中:

[root@dl380gen8snbjbb ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

为什么系统不在/usr/bin目录下寻找docker命令?

最佳答案

检查以下链接: https://unix.stackexchange.com/q/5609/55635

bash does cache the full path to a command. You can verify that the command you are trying to execute is hashed with the type command:

$ type svnsync svnsync is hashed (/usr/local/bin/svnsync)

To clear the entire cache:

$ hash -r

Or just one entry:

$ hash -d svnsync

For additional information, consult help hash and man bash.

关于linux - 为什么Linux 不在PATH 环境的所有目录中寻找命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30163076/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com