environment ファイル

目的

ユーザー環境をセットアップします。

説明

/etc/environment ファイルには、すべてのプロセス用の基本的な環境を指定する変数が記述されています。 新しいプロセスが開始されると、 EXEC サブルーチンは、 名前=という形式のストリングの配列を使用可能にします。 このストリングの配列は環境と呼ばれます。 ストリングのうちの 1 つで定義されたそれぞれの名前を、環境変数 またはシェル変数 と呼びます。 EXEC サブルーチンを使用すると、環境全体を一度に設定することができます。

環境変数は、コマンドの実行開始時に検査されます。 プロセスの環境は、 /etc/environment ファイルを変更しても変更されません。 /etc/environment ファイルへの変更の前に開始されたすべてのプロセスは、それらのプロセスに対して変更を有効にする場合は、再始動する必要があります。 TZ (T) 変数が変更された場合は、 クーロン デーモンを再始動する必要があります。この変数は、現在の現地時間を判別するために使用されるためです。

環境 ファイルを変更する際には、以下の制約事項が適用されます。

  • 新しく作成した環境変数が、 メールPS1PS2IFS (I)などの標準変数と競合しないことを確認します。
  • 環境 ファイル内の情報が 名前= 形式であることを確認します。 プロファイル スクリプトとは異なり、 環境 ファイルはシェル・スクリプトではなく、 名前= フォーマット以外のフォーマットのデータは受け入れません。

基本環境

ログインすると、システムは、ログイン・プロファイル . プロファイルを読み取る前に、 環境 ファイルから環境変数を設定します。

以下の変数は基本的な環境を構成します。

変数 説明
home ユーザー・ログインまたは ホーム ディレクトリーの絶対パス名。 login プログラムは、これを /etc/passwd ファイルに指定された名前に設定します。
LANG 現在有効なロケール名です。 LANG 変数は、インストール時に /etc/environment ファイルに設定されます。
NLSPATH メッセージ・カタログの絶対パス名です。 デフォルトは次のとおりです。

/usr/lib/nls/msg/%L/%N:

/usr/lib/nls/msg/%L/%N.cat:

ここで、 %L (L)LC_MESSAGES カテゴリーの値、 %N (N) はカタログ・ファイル名です。
注: メッセージ・カタログの変更について詳しくは、 チラン コマンドを参照してください。
LC__FASTMSG LC_FASTMEGfalseに設定されている場合、 POSIX準拠のメッセージ処理が実行されます。 LC__FASTMSGtrueに設定されている場合、C および POSIX ロケールではデフォルト・メッセージを使用する必要があり、 NLSPATH は無視されることを指定します。 この変数が または 設定解除以外の値に設定されている場合は、 に設定されているものと見なされます。 デフォルト値は、 /etc/environment ファイルの LC__FASTMSG=true です。
LOCPATH 各国語サポート・テーブルのロケーションを示す絶対パス名です。 デフォルトは /usr/lib/nls/loc で、 /etc/profile ファイルに設定されます。 ロパス 変数が NULL 値の場合、現行ディレクトリーにロケール・ファイルが含まれていると想定されます。
注: すべての セットアップ ID および セット ID プログラムは、 ロパス 環境変数を無視します。
パス パス名が不完全なコマンドを探すときに、 Sh時間ナイス 、および Nohup コマンドなどのコマンドが検索するディレクトリーの順序。 ディレクトリー名はコロンで区切られます。
TZ タイム・ゾーン情報。 TZ 環境変数は、 /etc/environment ファイルによって設定されます。 TZ (T) 環境変数の形式は次のとおりです (読みやすくするためにスペースを挿入します)。
std offset dst offset , rule

TZ (T) 環境変数内のフィールドは、以下のように定義されます。

標準 および DST
標準 (標準) および夏 (DST) のタイム・ゾーンを指定します。 標準 値と、該当する オフセット 値のみが必要です。 DST 値が指定されていない場合、夏時間は適用されません。 指定する値の長さは、3 バイト以上 TZNAME_MAX (T) バイト以下でなければなりません。 変数の長さは、以下に対応します。%Z日付 コマンドのフィールド。 ライブラリー および Libbsdの場合、 TZNAME_MAX (T) は 3 文字です。 各フィールドには、(コロン)、a、(コンマ)、-(負符号)、+ (正符号)、または ASCII ヌル文字を除く任意の非数字 ASCII 文字を入力することができます。
注: POSIX 1.0 では、インプリメンテーション定義の TZ 仕様のために先頭の: (コロン) が予約されています。 オペレーティング・システムは、 CUT0 を選択し、以下を設定して、先頭のコロンを不許可にします。%Zフィールドをヌル・ストリングに変換します。

標準 および DST フォーマットの例を以下に示します。

EST5EDT 
注: 値セットが無効または認識されない場合、タイム・ゾーンはデフォルトで UTC/GMT になります。
EST 東部 U.S標準時を指定します。
5 オフセットを指定します。これは、協定世界時 (CUT) より 5 時間遅れています。
EDT
対応する夏時間帯の省略形を指定します。
注: システムに定義されている時間帯名のリストについては、 "タイム・ゾーン" を参照してください。
OFFSET
現地時間に加えられた値が協定世界時 (CUT) に等しいことを示します。 CUT は、大部分がグリニッジ標準時に置き換わる国際標準時です。 オフセット 変数の形式は次のとおりです。
hh:mm:ss

オフセット 変数内のフィールドは、以下のように定義されます。

hh DST オフセットを時間単位で指定します。 このフィールドは必須です。 このhh値の範囲は、整数 -12 から +11 までです。 負の値は、タイム・ゾーンが本初子午線の東にあることを示します。正の値または値なしは、タイム・ゾーンが本初子午線の西にあることを示します。
mm 分までの詳細な DST オフセットを指定します。 このフィールドはオプションです。 もしmm値が存在する場合は、0 から 59 の間で指定し、前に: (コロン) を付ける必要があります。
ss
秒までの詳細な DST オフセットを指定します。 このssfield はオプションです。 もしss値が存在する場合は、0 から 59 の間で指定し、前に: (コロン) を付ける必要があります。

オフセット 変数は、 標準 変数と一緒に指定する必要があります。 DST 変数の オフセット 変数はオプションです。 DST 変数でオフセットが指定されていない場合、システムは夏時間が標準時間より 1 時間進んでいると想定します。

オフセット構文の例として、チューリッヒはCUTより1時間進んでいるため、そのオフセットは -1.である。 ニューファンドランドは東部標準時より数時間 1.5U.S 進んでいます。 その構文は、3:30、03:30、+ 3:30、または 3:30:00 のいずれかとして記述できます。

ルール
規則 変数は、夏時間との間でいつ変更するかを示します。 規則 変数の形式は次のとおりです。
start/time,end/time

規則 変数内のフィールドは、以下のように定義されます。

start 標準時間から夏時間への変更を指定します。
end 夏時間から標準時間に戻ることを指定します。
time タイム・ゾーン内で時刻の変更がいつ行われるかを指定します。 例えば、以下のようになります。time変数は 2 a.m用にエンコードされます。 タイム・ゾーンが 2 a.mに達すると、時刻が変更されます。 指定された日付start変数。
/ 開始日、終了日、および時刻の各変数を区切ります。
,
(コンマ) 2 つの日付と時刻のペアを区切ります。
このstartおよびend変数はユリウス時刻の構文をサポートします (J) うるう年の構文 (M):
Jn
Mm.n.d

ではJ構文、n変数の値は 1 から 365 までです。 うるう日は計算に 入れません。 ではM構文、m月ですn週、およびd曜日 0 (日曜) から始まる曜日。

規則 変数の形式は、 オフセット 変数と同じですが、先行-(負符号) または + (正符号) は使用できません。 以下のデフォルトstart変数は 02:00:00 (2 a.m.) です。
注: 時間帯オフセットと時間変更点は、相互に関連しており、コンテキストに依存しています。 規則 変数のランタイム実行セマンティクスは、オフセットの関数として変更されます。 例えば、夏時間帯が次のように 1 時間変更されたとします。CST6CDT5、(デフォルトは 2 a.m。) 夏時間は 2 a.mから即時に変更されます。 3 a.mに変更します。 CDT。 秋の変化は 2 a.mからのものです。 CDT を 1 a.mに。 CST。 以下のタイム・ゾーンのそれぞれの変更CST6CDT42 a.mです。 CST から 4 a.m。 CDT および 2 a.m。 CDT から 12 a.m。 CST。

規則 変数の例では、法律が変更され、米国中部の夏時間がユリウス暦 129 からユリウス暦 131 までの間になる場合、 TZ (T) 変数は次のように記述されます。

TZ=CST6CDT5,J129,J131

この例では、示されている日付はそれぞれ 5 月 09 日と 5 月 11 日、1993 年 5 月 1 日です。 (ユリウス日付番号を取得するには、 日付 +%j コマンドを使用します。)

別の例として、時刻の変更が 2 a.mに行われるとします。 CST と 19:30 CDT はそれぞれ、以下のように記述されます。

TZ=CST6CDT5,J129,J131/19:30

うるう年でない場合、フォールバック時間の変更は、1993 年 5 月 11 日の 19:30 CDT から 18:30 CST になります。

うるう年 (M) 構文の場合、春の先行日は 5 月 2 日、フォールバック日は 5 月 9 日です。 変数は以下のように記述されます。

TZ=CST6CDT5,M5.1.0,M5.2.0

タイム・ゾーン

システムは、以下の時間帯と時間帯の名前を定義します。

注: 係の協定世界時 (UTC) (CUT) は、国際標準時です。
表 1. システムに定義されている時間帯
名前 タイム・ゾーン CUT オフセット
CUT0GDT 協定世界時 CUT
GMT0BST グレートブリテンおよび北部アイルランド連合王国 (英国) CUT
WET0WEST 西ヨーロッパ CUT
AZOREST1AZOREDT アゾレス諸島、カーボベルデ カット -1
FALKST2FALKDT フォークランド諸島 カット -2
GRNLNDST3GRNLNDDT グリーンランド (東ブラジル) カット -3
AST4ADT 中央ブラジル カット -4
EST5EDT アメリカ合衆国東部、コロンビア カット -4
CST6CDT アメリカ合衆国中部、ホンジュラス カット -6
MST7MDT アメリカ合衆国山岳部 カット -7
PST8PDT 太平洋アメリカ合衆国、ユーコン カット -8
AST9ADT アラスカ カット -9
HST10HDT ハワイ、アリューシャン列島 UTC -10
BST11BDT ベーリング海峡 UTC -11
NZST-12NZDT ニュージーランド UTC +12
項目 説明
MET-11METDT ソロモン諸島 UTC +11
EET-10EETDT 東オーストラリア UTC +10
JST-9JSTDT 日本 UTC + 9
KORST-9KORDT 韓国 UTC + 9
WAUST-8WAUDT 西オーストラリア UTC + 8
TAIST-8TAIDT 台湾 UTC + 8
THAIST-7THAIDT タイ UTC + 7
TASHST-6TASHDT 中央アジア UTC + 6
PAKST-5PAKDT パキスタン UTC + 5
WST-4WDT ゴルキ、中央アジア、オマーン UTC + 4
MEST-3MEDT トルコ UTC + 3
SAUST-3SAUDT サウジアラビア UTC + 3
EET-2EEST 東ヨーロッパ UTC + 2
USAST-2USADT 南アフリカ UTC + 2
CET-1CEST 中央ヨーロッパ UTC + 1

ファイル

項目 説明
/etc/profile シェルによって環境に追加される変数を指定します。
/etc/environment すべてのプロセスの基本環境を指定します。
$HOME/.profile 特定のユーザー・ニーズに対応する環境を指定します。
/etc/passwd ユーザー ID を指定します。