私は読んだ「どれ」、しかしすべてしかし、私はその違いを本当に理解することはできません。私は64ビットdebian-busterでzsh 5.4.2を実行しています。 whichとwhenceはどちらもシェル組み込み関数です。
人々はどこでどちらがより適切であるか、その逆であるかを指摘できますか?
/home/shirish> zsh --version
zsh 5.4.2 (x86_64-debian-linux-gnu)
/home/shirish> type -a which
which is a shell builtin
which is /usr/bin/which
which is /bin/which
/home/shirish> type -a whence
whence is a shell builtin
ベストアンサー1
which
cshコマンド(csh
あなたのコマンドを読むスクリプト~/.cshrc
)、sに対するwhence
Kornシェルcsh
の応答which
、type
Bourneシェルコマンド、command -v/V
POSIXコマンド...
zsh
ksh
いくつかの拡張を実装しましたが、csh常習者とPOSIX準拠のためのエイリアスwhence
も提供しました。これは同じコマンドですが、デフォルトの動作は異なります。which
type
command -v/V
which
)のwhence -c
ためc
ですcsh
type
はいwhence -v
(詳細はwhence
)where
はいwhence -ca
- POSIXは
command -v
次のとおりです。whence
- POSIXは
command -V
次のとおりです。whence -v
詳細は以下で確認できます(少し混乱はありますが申し訳ありません)。「which」を使わないのはなぜですか?それでは何を使うべきですか?