Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux では、アプリケーションをダウンロードしてインストールすると、起動時にアプリケーション名を入力すると「コマンドが見つかりません」というメッセージが表示される可能性が高くなります。毎回インストール先のフォルダに移動して実行ファイルを探すと

操作を実行するのが面倒すぎる。この場合、環境変数 PATH の設定が関係しており、PATH の設定は Linux での環境変数のカスタマイズの不可欠な部分でもあります。

環境変数を設定する 2 つの方法:

1) /etc/profileファイルを変更する

この方法は、すべてのユーザーのシェルがこれらの環境変数にアクセスできるため推奨されます。欠点は、システムにセキュリティ上の問題を引き起こす可能性があることです。 これはすべてのユーザー、すべてのシェルに適用されます。

[root@test ~]# vim /etc/profile
....
エクスポート PATH=$PATH:/usr/local/mysql/bin

変更をすぐに有効にするには、source コマンドを使用します。
[root@test ~]# ソース /etc/profile

2) .bashrc ファイルを変更します。この方法はより安全です。これらの環境変数を使用する権限をユーザー レベルで制御できます。ここでは特定のユーザーを対象としています。これらの環境変数を使用する権限をユーザーに付与する必要がある場合は、個人ユーザーのホーム ディレクトリにある .bashrc ファイルを変更するだけで済みます。
[root@test ~]# vim /root/.bashrc
エクスポート PATH=$PATH:/usr/local/mysql/bin

[root@test ~]# ソース /root/.bashrc

以下の点に注意してください。

/etc/profile でシステム環境変数を設定する場合、パスを「/」で終わらせることはできません。そうしないと、PATH 変数全体が間違ったものになります。

[app@test ~]$ vim ~/.bashrc
......
KETTLE_HOME=/data/nstc/kettle3.2
KETTLE_HOMEをエクスポートする

注意: 環境変数を設定した後は、変数をエクスポートすることを忘れないでください。そうしないと、ソースが次のようになると無効になります。
[app@test ~]$ source .bashrc //有効にする
[app@test ~]$ echo $KETTLE_HOME
/data/nstc/ケトル3.2
[アプリ@テスト ~]$ 環境
.........
KETTLE_HOME=/data/nstc/kettle3.2

.bash_profile と .bashrc の違い:

/etc/profile: このファイルは、システムの各ユーザーの環境情報を設定します。ユーザーが初めてログインすると、このファイルが実行されます。/etc/profile.d ディレクトリ内の設定ファイルからシェル設定を収集します。
/etc/bashrc: このファイルは、bash シェルを実行する各ユーザーに対して実行されます。このファイルは、bash シェルが開かれたときに読み取られます。
~/.bash_profile: 各ユーザーはこのファイルを使用して、自分専用のシェル情報を入力できます。ユーザーがログインすると、このファイルは 1 回だけ実行されます。デフォルトでは、いくつかの環境変数を設定し、ユーザーの .bashrc ファイルを実行します。
~/.bashrc: このファイルには、bash シェルに固有の bash 情報が含まれています。ログイン時および新しいシェルを開くたびに読み込まれます。
~/.bash_logout: このファイルは、システムからログアウトするたびに (bash シェルを終了するたびに) 実行されます。

また、/etc/profile に設定された変数(グローバル)はどのユーザーにも適用できますが、~/.bashrc やその他の場所(ローカル)に設定された変数は、/etc/profile の変数のみを継承します。つまり、両者は「親子」の関係にあります。

==========================端末ログインタイムアウトを設定する=================

Linux サーバーにリモートでログインするときに、ターミナルの有効期限 (つまり、操作がない場合にターミナルが無効になるまでの時間) を設定する方法。方法は次のとおりです。
[root@mq-console-nameserver ~]# vim /etc/profile
......
エクスポート TMOUT=600
[root@mq-console-nameserver ~]# ソース /etc/profile

上記設定後、本サーバーにログインした端末が10分以内に何の操作も行わない場合、端末は無効となります。

要約する

以上でLinux環境変数設定方法のまとめ(.bash_profileと.bashrcの違い)についての記事は終了です。Linux環境変数設定に関するより詳しい内容は、123WORDPRESS.COMの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします!

以下もご興味があるかもしれません:
  • Linux の .bash_profile と .bashrc の違いは何ですか
  • Linux システムの .bash_profile ファイルの詳細な説明

<<:  jQuery を使用してカルーセル効果を実装する

>>:  MySQL ストアド プロシージャにおけるループ ステートメント (WHILE、REPEAT、LOOP) の使用法の分析

推薦する

MySQL 8.0 における非同期レプリケーションの 3 つの方法について簡単に説明します。

この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...

Centos7 での MySQL のインストールに関するチュートリアル

最近、自宅サーバーにクラウドディスクを導入する予定なので、一連の環境構築作業を始めました。MySQL...

Linux環境でのshadowsocks+polipoグローバルプロキシの設定

1. シャドウソックスをインストールするsudo apt-get install python-pi...

MySQL実践スキル: 2つのテーブルに異なるデータがあるかどうかを比較する方法の分析

この記事では、MySQL が 2 つのテーブルを比較して、異なるデータがあるかどうかを確認する方法を...

jsを呼び出すいくつかの方法が整理され、使用が推奨されています

a タグではクリック イベントがよく使用されます。 1. href="javascript...

Tomcat+Mysql の高同時実行構成の最適化の説明

1.Tomcatの最適化構成(1)Tomcatのcatalina.batを変更するJavaをサーバー...

JSはショッピングカート効果の単純な加算と減算を実装します

この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...

更新とデータ整合性処理のためのMySQLトランザクション選択の説明

MySQL のトランザクションはデフォルトで自動的にコミットされます (autocommit = 1...

Linux システムで tcpdump を使用してパケットをキャプチャする方法

まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...

Vue で wangeditor リッチテキスト編集を使用する際の問題

wangEditor は、JavaScript と CSS に基づいて開発された Web リッチ テ...

MySQL テーブル構造を Excel にエクスポートする方法

要件は次のとおりですテーブル構造、フィールドコメント情報、テーブル名などをエクスポートします。これは...

フォームファイル選択ボックスのスタイルをカスタマイズする例

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...

Vue3 ドキュメント クイックスタート

目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...

JS オブジェクトのコピー (ディープ コピーとシャロー コピー)

目次1. 浅いコピー1. Object.assign(ターゲット、ソース、ソース...) 2. スプ...

MySQL InnoDBセカンダリインデックスのソート例の詳細な説明

ソート問題最近、Geek Time の「45 Lectures on MySQL Practice」...