コマンド呼び出し位置が「which」コマンド出力と一致しません。

コマンド呼び出し位置が「which」コマンド出力と一致しません。

私はCentOS 7コンピュータにインストールしていますが、protocolbufインストール後にprotocコンパイラバイナリを実行したときにいくつかの不一致が見つかりました。

$  which protoc
/usr/local/bin/protoc 
$  protoc
bash: /bin/protoc: No such file or directory

確かに間違っているようです。どうすれば解決できますか?

ベストアンサー1

モダンなシェルを使うと覚える以前に実行したコマンドのパス。たとえば、次のようになります。

bash-4.2$ hash
hash: hash table empty
bash-4.2$ whoami
sweh
bash-4.2$ hash
hits    command
   1    /usr/bin/whoami

プログラムをアンインストールして(あなたの場合/bin/protoc)、新しい場所(/usr/local/bin/protoc)にインストールすると、現在のシェルは以前の場所を試みます。古いファイルが存在しなかったため失敗しました。

を使用して、記憶されているすべてのパスを忘れるようにシェルに指示できますhash -r

これにより、パスを再検索できます。

このwhichコマンドは現在シェルのハッシュを理解していません。このtypeコマンドはより正確なシェル組み込みです。

おすすめ記事