最小限のFedoraインストールをテストしています。pythonやnodeなどのインタープリターのパスを確認するには、通常を使用しますwhich。
I通知はwhichデフォルトではインストールされません。パッケージを追加することはできましたが、この一般的なタスクを実行するために使用できるシェルビルトインがあるのではないかと思います。
私はbash 4.2を使用しています。
which。「which」を使用しないのはなぜですか?次に何を使用しますか?
最小限のFedoraインストールをテストしています。pythonやnodeなどのインタープリターのパスを確認するには、通常を使用しますwhich。
I通知はwhichデフォルトではインストールされません。パッケージを追加することはできましたが、この一般的なタスクを実行するために使用できるシェルビルトインがあるのではないかと思います。
私はbash 4.2を使用しています。
which。「which」を使用しないのはなぜですか?次に何を使用しますか?
回答:
typeBashビルトインであるを使用できます。
$ type -P which
which is /usr/bin/which
ドキュメントについては、参照help [t]ypeを指し、typeセクションbashのmanページを参照してください。
(文字列 "type" で始まる2つのビルトインのhelp typeヘルプページを印刷します。そのうちの1つは廃止され、これとはまったく関係ありません。)
type -a自分が好きです。なぜかっこは[t]ype?
type -a入力時に実行されるものだけでなく、引数が指すすべてのものを出力します。
which。「which」を使用しないのはなぜですか?次に何を使用しますか?
type -a常にそれが実行するものです。私はグレンと同じことをし、常に使用していtype -aます。
type -pコマンドがエイリアスの場合、パスを表示しません。type -P常にコマンドパスを正しく表示します。おもう。受け入れられた回答をtype -P@ l0b0
typeまたはを使用できますcommand -v。の出力typeは人間が読める形式です。の出力はcommand -vBashで実行できます。
実際には少し異なることに注意してください。typeそしてcommand、コマンドのハッシュされた値を調べます。つまり、を入力した場合cmd、type cmdまたはcommand -v cmd実行される内容を正確に伝えます。また、エイリアス、Bash関数、およびBashビルトインでも機能します(ただし、type -pこれらは無視され、真のファイルのみが返されます)。
whichPATHで検索するだけです。これは、次の理由により異なります。
which、そのコマンドの実行はハッシュ値を使用します(Bashでハッシュを強制的に更新できますhash -r)。通常、人々は「インタラクティブな使用でtypeはなく」を本当に望んでいwhichます。「実行するときに、このコマンドはどこから来るのか」を見つけるために使用するからです。which本当にPATHルックアップを行いたい場合にのみ使用してください。
command -vはと同等ですksh whence。
where、whence当然にも、とのwho、whyとwhen?なぜないのwhatですか?
echo 'main(){printf("what\n");}' | sudo cc -x c - -o /usr/local/bin/what