私が入れるとwhich npm
、私は出てきます/usr/local/bin/npm
。私が入れるとcommand -v npm
、私は出てきます/usr/bin/npm
。
なぜそんなことですか?違いは何ですか? 「現在の環境で実行されるファイル名のパス名を返します」man which
と言います。which
を実行すると、which -a npm
上記の2つのパスが返されることがわかりました。
それでは、実行されないときに最初の項目を選択して-a
2番目の項目を返すのはなぜですかcommand -v npm
?
答え1
which
Eraの外部コマンドであり、csh
Bourne互換シェルとは何の関係もありません。
したがってcsh
。
したがって、組み込みのシェルコマンドを使用する方が良いです...
command
type
他の組み込みコマンドとともに、Bourne Shellに似たシェルに対して正しい結果を返すPOSIX準拠シェルの組み込みコマンド。