こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

unix上で ./configurの形式のコマンド

unix上で
./configure(そのあとに、makeコマンドが続くような形式
で実行できるファイルの事を知りたいのですが、どういったワードで調べたら宜しいでしょうか?
シェルの形式に近いのかな?と思ったのですが、コメントアウトされていて調べきれていません。

./configure内は以下の通りです

#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for cvc3 devel.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='print -r --'
as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else

以下略

投稿日時 - 2014-11-15 18:05:40

QNo.8826040

困ってます

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

具体的に何が知りたいのですか?
いくつか挙げます。それ以外なら、もう少し具体的に書いてください。

ファイルの先頭が #! で始まるテキストファイルに実行権を付けて実行すると、#! 以降に指定したコマンドで、当該スクリプトが実行されます。
# shebang と言います。

#! /bin/sh
なので、
./configure

/bin/sh ./configure
と同様です。よって、このconfigure は shスクリプトとして書かれています。


configureファイルを自作することもできますが、通常は、テンプレートを作成して、ツールで変換します。
> # Generated by GNU Autoconf 2.65 for cvc3 devel.
というのは、 GNU autoconf というツールで作成した、ということです。
OSSのソースコードでは、テンプレートである configure.ac やそれに関連するファイル群だけが配布され、configureは autoconf で自分で用意する、ということもあります。


大抵の場合 --help オプションを付けると、利用できるオプションの一覧が出力されます。

投稿日時 - 2014-11-15 18:36:33

お礼

ありがとうございます!。

具体的に知りたい事として、とっかかりの調べるヒントがほしいということでした。
#! /bin/sh
はコメントアウトされていて実行には関係ないと勘違いしておりました。
調べてみたら情報かなり出てきますね!

もしshebangの構文の解説で理解しやすいサイトがあればお伺いしたいと考えていましたが、
出来る限り自己解決してみます!

投稿日時 - 2014-11-15 19:42:46

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問