![コマンドラインに名前を入力すると、実行する実行可能ファイルを正確にどのように見つけることができますか? [コピー]](https://linux33.com/image/90224/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%AB%E5%90%8D%E5%89%8D%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E5%AE%9F%E8%A1%8C%E5%8F%AF%E8%83%BD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%AD%A3%E7%A2%BA%E3%81%AB%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
実行可能ファイルを正確に見つけることができますか?
myname
コマンドラインに渡されると実行されます。
> myname
locate
コマンドは多数の結果を返すため、期待どおりに機能しません。何かを実行すると1つのファイルしか実行されないため、結果は正確に1でなければなりません。また、PATH
結果が優先されるべきです。
答え1
シェルは通常、これを達成するためにwhich
orを使用します。たとえば、次のようになります。type
$ bash
$ which vile
/usr/bin/vile
$ type vile
vile is /usr/bin/vile
$
type
効果があるので好むそしてPOSIXシェルですが、which
Cシェルの連続です。実際、私は代替を示すスクリプトを使用します。