GETCONF(1) | FreeBSD General Commands Manual | 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 オプションは、 IEEE Std 1003.1-2001 (“POSIX.1”) プログラミング環境を指定し、その環境のもとでの値を問い合わせます。このオプションは現在のところ何もしませんが、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) 変数のいくつかは、前述の標準プログラミング環境で使うのに必要なコンパイラやリンカのフラグの情報を提供します。
終了ステータス
The getconf utility exits 0 on success, and >0 if an error occurs.使用例
コマンド
getconf PATH
は、 PATH 環境変数のシステムデフォルト設定を表示します。
コマンド
getconf NAME_MAX /tmp
は、 /tmp ディレクトリ中のファイル名の最大長を表示します。
コマンド
getconf -v POSIX_V6_LPBIG_OFFBIG LONG_MAX
は、システムが POSIX_V6_LPBIG_OFFBIG
プログラミング環境をサポートする場合には、その環境における C の型 long の最大値を表示します。
診断
まったく認識できない system_var や path_var を使うと、エラーとみなされ、診断メッセージが標準エラーに書かれます。既知ではあるが、単に未定義のものに関しては、エラー表示されません。 getconf ユーティリティは、現在実装されていないものを含め、 IEEE Std 1003.1-2001 (“POSIX.1”) 用に定義されたすべての変数を認識します。規格
getconf ユーティリティは、 IEEE Std 1003.1-2001 (“POSIX.1”) に準拠するはずです。歴史
getconf ユーティリティは、 FreeBSD 5.0 ではじめて登場しました。作者
<wollman@lcs.mit.edu>September 18, 2002 | FreeBSD |