Bashで破損したコマンド参照を回復するには?
CentOS 7サーバーにDockerとDocker Machineをインストールしています。インストールするには、BIOSオプションを手動でリセットしてから、インストールプロセス中にオペレーティングシステムを再起動する必要があります。最初はdocker-machine
bashでコマンドを見つけました。しかし、再起動中に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