• ベストアンサー

/usr/bin/ と /bin/の違い

gawk の説明のWEBページを見ると、スクリプトを作るときに、最初に書くこととして、 #! /usr/bin/awk -f と説明しているページと #! /bin/awk -f と説明しているページとがあります。 両方大丈夫みたいですが、なぜ、2つともOKなのでしょう?違いは?

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

>どちらを書いても良い、というわけではないのでしょうか? もちろんです。 UNIX系OS(Solaris、FreeBSD、各種Linux)などによって、それぞれ コマンドのあるディレクトリが微妙に違うんです。 ですから、とうぜんあなたのOS上で、そのawkスクリプトを実行 するわけですから、あなたのOSのどのディレクトリにawkがあるのか ちゃんと指定しないとだめです。 ファイルの検索方法はわかってますか? PATH上にある実行ファイルを検索するには、whichコマンドです。 # which awk <ENTER> findコマンドを使うと、すべてのファイルを検索できます。 # find / -type f -name awk -print<ENTER> (この場合は/から検索を開始するので、時間がかかります。) 定期的にupdatedbコマンドでファイル一覧のDBを更新しておくと locateコマンドで一瞬に検索できます。 # updatedb <ENTER> (updatedbは普通、夜中などに定期的に実行させます) # locate awk <ENTER> (この場合awkという文字が含まれるすべてのファイルが表示されます。) # locate bin/awk <ENTER> コマンドは大抵、なんとかbinと名のつくディレクトリにあるので、こんな指定をすると 余計なファイルがひっかかりません。

white-tiger
質問者

お礼

なるほど。 which, find の使い方もありがとうございます。 すばらしい解答、ありがとうございました!

その他の回答 (1)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

そのページを作った人の環境では、awkがそのディレクトリにあった、 ということです。

white-tiger
質問者

お礼

ありがとうございます。 では、例えば、スクリプトを公開するときなどは、どちらを書いても良い、というわけではないのでしょうか?

関連するQ&A