違いは何ですか?`および`コマンド-v`?

違いは何ですか?`および`コマンド-v`?

私が入れるとwhich npm、私は出てきます/usr/local/bin/npm。私が入れるとcommand -v npm、私は出てきます/usr/bin/npm

なぜそんなことですか?違いは何ですか? 「現在の環境で実行されるファイル名のパス名を返します」man whichと言います。whichを実行すると、which -a npm上記の2つのパスが返されることがわかりました。

それでは、実行されないときに最初の項目を選択して-a2番目の項目を返すのはなぜですかcommand -v npm

答え1

whichEraの外部コマンドであり、cshBourne互換シェルとは何の関係もありません。

したがってcsh

したがって、組み込みのシェルコマンドを使用する方が良いです...

commandtype他の組み込みコマンドとともに、Bourne Shellに似たシェルに対して正しい結果を返すPOSIX準拠シェルの組み込みコマンド。

関連情報