Linux環境変数ファイルの簡単な紹介

Linux環境変数ファイルの簡単な紹介

Linux システムでは、環境変数は適用範囲に応じて、システムレベルの環境変数とユーザーレベルの環境変数に大別されます。

  • システムレベルの環境変数: システムにログインするすべてのユーザーは、システムレベルの環境変数を読み取ることができます。
  • ユーザーレベルの環境変数: システムにログインする各ユーザーは、自分のユーザーレベルの環境変数のみを読み取ることができます。

当然、環境変数の設定ファイルもシステムレベルとユーザーレベルのものに分かれています。

システムレベル

/etc/プロファイル

これは、システムの起動後に最初のユーザーがログインしたときに実行され、/etc/profile.d ディレクトリ内の設定ファイルからシェル設定を収集します。このファイルを使用して設定された環境変数は、システムにログインするすべてのユーザーに適用されます。

ヒント: Linux システムでは、次のコマンドを使用して、構成ファイルをすぐに有効にします。

ソース /etc/profile
$PATHをエコーする

/etc/bashrc (Ubuntu および Debian では /etc/bash.bashrc)

これは、bash シェルが開かれたときに実行されます。このファイルで設定された環境変数を変更すると、すべてのユーザーが使用する bash シェルに影響します。

注: ここではさまざまなカテゴリの bash シェルが存在し、異なるカテゴリで使用される環境変数設定ファイルも異なります。通常、非ログイン シェルではプロファイル ファイルは実行されず、非対話型シェル モードでは bashrc ファイルは実行されません。

# ログインシェルと非ログインシェル:
ログイン シェル # ユーザー パスワードを入力する必要があります。たとえば、ssh login または su - コマンド権限昇格により、ログイン シェル モードが開始されます。非ログイン シェル # ユーザー パスワードを入力する必要はありません。
 
# 対話型シェルと非対話型シェル:
対話型シェル # ユーザーがコマンドを入力するのを待つコマンドプロンプトを提供するのが対話型シェルモードです。非対話型シェル # スクリプトファイルを直接実行するのが非対話型シェルモードです。

/etc/環境

システムの起動時に実行されます。システムの動作に関係するがユーザーには関係のない環境変数を設定するために使用されます。このファイルで設定された環境変数を変更すると、グローバル環境に影響します。

ユーザーレベル

~/.profile (推奨)

このファイルは、ユーザーがログインしたときに実行されます。各ユーザーは、このファイルを使用して独自のシェル情報を設定できます。

~/.bashrc

このファイルは、ユーザーがログインしたとき、および新しいシェルが開かれるたびに読み取られます。ここでユーザー固有の環境変数を構成することはお勧めしません。シェルが開かれるたびにファイルが 1 回読み取られるため、効率に確実に影響します。

~/.bash_profile または ~./bash_login

~/.bash_profile または ~./bash_login - これらのファイルのいずれかが存在する場合、bash は "~/.profile" ではなくそれを実行します。 
ログイン シェルとして起動された場合。(Bash は "~/.bash_login" よりも "~/.bash_profile" を優先します)。 
ただし、これらのファイルはデフォルトではグラフィカル セッションに影響を与えません。

上記は、Ubuntu 公式 Web サイトに掲載されている ~/.bash_profile と ~./bash_login の説明を中国語に翻訳したものです。

~/.bash_profile または ~./bash_login -
これらのファイルのいずれかが存在する場合、Bash はログイン シェルを起動するときに ~/.profile の代わりにそのファイルを実行します。
両方のファイルが存在する場合、Bash は ~/.bash_login よりも ~/.bash_profile を優先します。
ただし、デフォルトではこれらのファイルはグラフィカル セッションには影響しません。

~/.bash_logout

このファイルは、システムを終了するたびに(bash シェルを終了するたびに)実行されます。

注: Linux システムでは、環境変数にアクセスするために $VARIABLE_NAME を使用し、複数の環境変数は : で区切られます。Windows システムでは、環境変数にアクセスするために %VARIABLE_NAME% を使用し、複数の環境変数は ; で区切られます。

一般的に、Linux が環境変数設定ファイルを読み込む実行順序は次のとおりです。

==> /etc/プロファイル
==> ~/.bash_profile | ~/.bash_login | ~/.profile
==> ~/.bashrc
==> /etc/bashrc
==> ~/.bash_logout

Linux 環境変数ファイルの紹介に関するこの記事はこれで終わりです。Linux 環境変数ファイルに関するより詳しい情報は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux環境で環境変数を設定する方法
  • Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)
  • Linux で Bash 環境変数を設定する方法
  • Linux環境変数の設定戦略の詳細な説明
  • Linux環境変数の設定に関する完全なガイド
  • Linux システムで Java 環境変数を設定する方法
  • Linux での Java 環境変数のインストールと設定
  • Linuxで環境変数を設定するための詳細な手順
  • Linux で環境変数 JAVA_HOME を変更/設定する方法について簡単に説明します。

<<:  3 階層ナビゲーション メニューを実現するための js+css

>>:  カスタムスクロールバー効果を実現するJavaScript

推薦する

Vue はアップロードされた画像に透かしを追加する機能を実装します

この記事では、Vueでアップロードされた画像に透かしを追加する具体的な実装コードを参考までに共有しま...

Linux で圧縮ファイルの内容を表示する 10 の方法 (要約)

一般的に、アーカイブされたファイルや圧縮されたファイルの内容を表示するには、まず解凍してから表示する...

Vue v-for ループを書く 7 つの方法

目次1. v-forループでは常にキーを使用する2. 特定のスコープ内でv-forループを使用する3...

TypeScriptのインデックスシグネチャの理解に関する簡単な説明

目次1. インデックス署名とは何ですか? 2. インデックス署名構文3. インデックス署名に関する注...

シェルスクリプトは、Docker の半自動コンパイル、パッケージ化、およびリリースアプリケーション操作を構築します。

Docker 公開方法は、DevOps (送信、コンパイル、パッケージ化、リリースなどの一連のイベ...

React dva実装コード

目次ドヴァdvaの使用DVAの実装非同期をサポートルーターの実装成し遂げる:ドヴァdva は、red...

jar パッケージを Docker コンテナに変換する方法

jar パッケージを Docker コンテナに変換する方法1.まずJavaイメージをダウンロードする...

Vueのコンポーネントの詳細な説明

目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...

Vue3 の動的コンポーネントはどのように機能しますか?

目次1. コンポーネントの登録1.1 グローバル登録1.2 グローバルコンポーネントの登録プロセス1...

CocosCreator でカメラトラッキングに cc.follow を使用する方法

Cocos Creator バージョン: 2.3.4デモのダウンロード: https://files...

MySQL で特殊文字を含むデータベース名を作成する方法の例

序文この記事では、MySQL で特殊文字を使用してデータベース名を作成する方法について説明します。こ...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 2

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...

MySQL 8.0 の降順インデックス

序文インデックスが順序付けられていることは誰もが知っていると思いますが、MySQL の以前のバージョ...

航空機戦争ゲームを実装するためのJavaScript

この記事では、キャンバスとjsを使用して簡単な飛行機戦争を実装する方法を参考までに紹介します。具体的...

mysql ダーティ ページとは何ですか?

目次ダーティページ(メモリページ)ダーティページが表示されるのはなぜですか?メモリ管理メカニズムの簡...