Bashでのコマンド参照の破損の除去

Bashでのコマンド参照の破損の除去

Bashで破損したコマンド参照を回復するには?

CentOS 7サーバーにDockerとDocker Machineをインストールしています。インストールするには、BIOSオプションを手動でリセットしてから、インストールプロセス中にオペレーティングシステムを再起動する必要があります。最初はdocker-machinebashでコマンドを見つけました。しかし、再起動中にbashへのいくつかの参照が破損しているようです。したがって、Docker Machineをインストールしてバージョンを確認するために以下のコマンドを実行すると、以下のインストールコマンドを繰り返し実行しても失敗メッセージが表示されます。

Docker Machineの設定手順に従います。このリンクから

最後の再起動後、ターミナル出力は次のようになります。

[root@localhost ~]# base=https://github.com/docker/machine/releases/download/v0.14.0 &&  
>   curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&  
>   sudo install /tmp/docker-machine /usr/local/bin/docker-machine
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
                                 Dload  Upload   Total   Spent    Left  Speed  
100   617    0   617    0     0    836      0 --:--:-- --:--:-- --:--:--   836
100 26.7M  100 26.7M    0     0  3481k      0  0:00:07  0:00:07 --:--:-- 5962k
[root@localhost ~]# docker-machine version
-bash: docker-machine: command not found
[root@localhost ~]#

新規インストール時に意味のあるエラーが発生するように、bashへのすべての参照をクリーンアップするために使用できるコマンドはありますか?それとも正しく機能したいですか?それとも誰かが診断コマンドを提案できますか?

ホストOSを再インストールし、コンピュータのすべてを最初から再構成するよりも、エレガントなソリューションを期待します。


ユーザー提案:

@MichaelHomerの提案に従って以下を試しました。

[root@localhost ~]# PATH=/usr/local/bin:$PATH
[root@localhost ~]#

@roaimaの提案に従って以下を試しました。

[root@localhost ~]# hash -r
[root@localhost ~]# ls -ld /usr/local/bin/docker-machine
-rwxr-xr-x. 1 root root 28034848 Apr 16 16:18 /usr/local/bin/docker-machine
[root@localhost ~]# echo "$PATH"
/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/bin:/root/bin
[root@localhost ~]#

@arcsinの提案に従って、次のように入力しました。

[root@localhost ~]# file /usr/local/bin/docker-machine
/usr/local/bin/docker-machine: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
[root@localhost ~]# /usr/local/bin/docker-machine version
docker-machine version 0.14.0, build 89b8332
[root@localhost ~]#

ベストアンサー1

効率のために、各コマンドを含むbashディレクトリのリストが維持されます。$PATH

見つからないコマンドを実行して追加する場合は、リストをbash無効にするように指示する必要があります。

hash -r

おすすめ記事