id
プログラムを/usr/bin/
ディレクトリから自分のhome
ディレクトリにコピーしました。id
プログラムがコピーされたディレクトリからコマンドを実行すると、どのようなものが実行されるのかわかりません。
Bashは変数からプログラムを検索する PATH
か、ディレクトリから実行しますか?
確認する方法はありますか?
答え1
type id
またはを使用して、これがコマンドとしてどのようにcommand -v id
解釈されるかを確認できます。私には以下が表示されます。bash
id
$ type id
id is /usr/bin/id
$ command -v id
/usr/bin/id
はい、bash
検索されます$PATH
。しかし、一度見つけたら場所を覚えているので、毎回検索する必要はありません。以前に実行した後に移動すると、問題が発生する可能性があります。hash
コマンドを使用して、hash id
そのエントリが現在存在するかどうかを確認できます。
答え2
シェルは、PATH
一致するコマンドが見つかるまで、常に変数にリストされているディレクトリを順番に検索します。
id
以下を使用して、何を選択しているかを確認できます。
command -v id
バイナリを移動する場合(しないでください)、キャッシュリストの場所を記憶するためにhash -r
リセットユーティリティを実行する必要があるかもしれません。bash