どっちですか、どこですか

  • 投稿日:
  • by
  • カテゴリ:



which(とwhere)コマンドを知らないといろいろ面倒です。


手元のCygwin環境でお試しした結果サンプル:



yasuda@pc08 ~
$ which gdbserver
/usr/local/bin/gdbserver

yasuda@pc08 ~
$ where gdbserver
C:\cygwin\usr\local\bin\gdbserver.exe

yasuda@pc08 ~
$ where gcc
C:\cygwin\bin\gcc.exe

whichは指定されたコマンドが実行されるとき、「どのコマンドが実行されるか」が分かります。具体的にはパスですな。


whereは「どこにあるか」が分かります。whichと違うのは、全ての候補が標準出力に出る点です。つまり同じコマンドがちがうパスにいることが確認できます。


え?それが何の役に立つか?findで調べりゃ一瞬じゃないかって?


まぁそりゃそうかもしれませんが、いろんなものがあるってことです。


# 一瞬でfind /が終わるような狭小環境でしか仕事したことないっていうのは自慢になりませんよ、と。


メモ:


whereは入っていて当たり前というものではない気がします。時々使えないことがあります。


busyboxみたいなことをやってる組み込み系のターゲット上では、たいていhelpコマンドでコマンド一覧が標準出力に出るでしょう。




UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学