GETCONF(1)

名称
getconf - 標準設定変数の取り出し

書式
getconf [-v environment] path_var file getconf [-v environment] system_var

解説
getconf ユーティリティは、 POSIX や X/Open のパスの値やシステム設定変数を標準出力へ表示します。 指定された変数が未定義の場合、文字列 “undefined” が出力されます。

コマンドの第 1 の形式は 2 個の必須引数を取り、 pathconf(2) を使用して、ファイル固有もしくはファイルシステム固有の設定変数を取り出します。 第 2 の形式は 1 個の引数を取り、変数の型に依存して confstr(3) か sysconf(3) を使用して、システム設定変数を取り出します。 拡張として、第 2 の形式を使用して静的な制限を <limits.h> から取り出せます。

すべての sysconf(3) と pathconf(2) の変数は、先行するアンダスコアやプレフィックスを含め、 適切な標準 C 言語の束縛で定義された目録定数と同じ名前を持ちます。 つまり system_var は ARG_MAX や _POSIX_VERSION であり、それに対して sysconf(3) での名前は _SC_ARG_MAX や _SC_POSIX_VERSION ということです。 confstr(3) から取り出された変数は、先行する ‘_CS_’ が取り除かれます。 ですので、 system_var に “PATH” を指定すると _CS_PATH を要求することになります。

  プログラミング環境
-v environment オプションは、 p1003.1-2001 プログラミング環境を指定し、その環境のもとでの値を問い合わせます。 このオプションは現在のところ何もしませんが、32 ビットと 64 ビットの 両方の実行環境をサポートするプラットフォーム上で将来これが使用される かもしれません。 現在実行中のプラットフォームがサポートしない環境を指定すると、 未定義の結果となります。

標準プログラミング環境は次の通りです:

POSIX_V6_ILP32_OFF32
    整数 (int)、long、ポインタ、ファイルオフセットが、正確に 32 ビットです。 サポートされたプラットフォーム: 無し。

POSIX_V6_ILP32_OFFBIG
    整数 (int)、long、ポインタが、正確に 32 ビットです。 ファイルオフセットは少なくとも 64 ビットです。 サポートされたプラットフォーム: IA32, PowerPC 。

POSIX_V6_LP64_OFF64
    整数 (int) が、正確に 32 ビットです。 long、ポインタ、ファイルオフセットが、正確に 64 ビットです。 サポートされたプラットフォーム: Alpha, SPARC64 。

POSIX_V6_LPBIG_OFFBIG
    整数 (int) が、少なくとも 32 ビットです。 long、ポインタ、ファイルオフセットが、少なくとも 64 ビットです。 サポートされたプラットフォーム: 無し。

コマンド

    getconf POSIX_V6_WIDTH_RESTRICTED_ENVS

は、基本型の幅がネイティブな C の型 long の幅を越えないような環境を、改行で区切ったリストにして返します。 現在のところ、 FreeBSD がサポートするすべてのプログラミング環境にはこの特性があります。 confstr(3) 変数のいくつかは、前述の標準プログラミング環境で使うのに必要な コンパイラやリンカのフラグの情報を提供します。

診断
まったく認識できない system_var や path_var を使うと、エラーとみなされ、診断メッセージが標準エラーに書かれます。 既知ではあるが、単に未定義のものに関しては、エラー表示されません。 getconf ユーティリティは、現在実装されていないものを含め、 p1003.1-2001 用に定義されたすべての変数を認識します。

使用例
コマンド

    getconf PATH

は、 PATH 環境変数のシステムデフォルト設定を表示します。

コマンド

    getconf NAME_MAX /tmp

は、 /tmp ディレクトリ中のファイル名の最大長を表示します。

コマンド

    getconf -v POSIX_V6_LPBIG_OFFBIG LONG_MAX

は、システムが POSIX_V6_LPBIG_OFFBIG プログラミング環境をサポートする場合には、その環境における C の型 long の最大値を表示します。

関連項目
pathconf(2), confstr(3), sysconf(3)

規格
getconf ユーティリティは p1003.1-2001 に適合していると期待されます。

歴史
getconf ユーティリティが最初に登場したのは FreeBSD 5.0 です。

作者
Garrett A. Wollman <wollman@lcs.mit.edu>