私のパスで実行する実行可能ファイルをどのように決定しますか?

私のパスで実行する実行可能ファイルをどのように決定しますか?

私は実行しwhich、次の情報を取得します。

brendan$ which python
  /opt/local/bin/python
brendan$ which -a python
  /opt/local/bin/python
  /usr/bin/python
brendan$ ls -l /opt/local/bin/python
  lrwxr-xr-x  1 root  admin  24 22 Jul 00:45 /opt/local/bin/python -> /opt/local/bin/python2.4
brendan$ python
  Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
  ...
  (this is the python version in /usr/local/bin)

私のポイントは、which優先順位の高いデフォルトの実行可能ファイルを話していないことです。これをどのように見つけることができますか?

私はMacbookでOSX 10.6を実行していますが、この問題はUNIXタイプのユーザーにとって一般的です。

修正する:私のシステムで重複するPythonバージョンをたくさん削除し(少なくとも6つのバージョンがあり)、PATH複数の初期化ファイルから誤った宣言をさまざまに削除しました。どういうわけか、このプロセス中に新しいシェルは予想される出力を表示します(つまり、表示され、whichこれ/opt/local/bin/pythonが実行されたことです)。とにかく、助けてくれてありがとう!

ベストアンサー1

which実行されないときに得られる出力-aは実行される出力です。 (2回目が3-a回目よりも好ましい。)

これは、(シェル内で)他の実行可能ファイルの前に実行されるシェルの組み込み、エイリアス、および関数を考慮しません。

したがって、代わりに使用することをお勧めしますtype

おすすめ記事