我首先通过docker site的以下命令安装docker:
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
然后我删除docker
目录中的/usr/local/bin
。
我再次通过docker
安装yum
,这次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
为什么系统不在docker
目录中寻找/usr/bin
命令?
答案 0 :(得分:2)
检查以下链接: https://unix.stackexchange.com/q/5609/55635
bash会缓存命令的完整路径。你可以验证一下 使用type命令对
进行哈希处理您尝试执行的命令$ type svnsync svnsync hashed(/ usr / local / bin / svnsync)
清除整个缓存:
$ hash -r
或只是一个条目:
$ hash -d svnsync
有关其他信息,请参阅help hash和man bash。